hibernate, wie man erstellen Sie createalias left join?
@Entity
@Table(name = "BOOKTEST")
@NamedQueries({@NamedQuery(name = "Booktest.findAll", query = "SELECT b FROM Booktest b"), @NamedQuery(name = "Booktest.findById", query = "SELECT b FROM Booktest b WHERE b.id = :id"), @NamedQuery(name = "Booktest.findByBookName", query = "SELECT b FROM Booktest b WHERE b.bookName = :bookName")})
public class Booktest implements Serializable {
@ManyToOne
private Topictest topictestId; //foreign key
@JoinColumn(name = "USERTEST_ID", referencedColumnName = "ID")
@ManyToOne
private Usertest usertestId; //foreign key
}
wenn ich ausführen
Sitzung.createCriteria(Booktest.class).createAlias("usertestId", "usertestId",Kriterien.LEFT_JOIN)
.Liste();
den sql_log noch zeigen select * from booktest,usertest eher als select * from booktest left join usertest, wie zu tun, left join?
versucht non sequitor beiden Fällen und ich noch immer unter ohne "left join"
Hibernate: select this_.ID as ID13_2_, this_.BOOK_NAME as BOOK2_13_2_, this_.TOP
ICTEST_ID as TOPICTEST4_13_2_, this_.USERTEST_ID as USERTEST3_13_2_, usertestid1
_.ID as ID14_0_, usertestid1_.TOPIC_NAME as TOPIC2_14_0_, usertest4_.ID as ID15_
1_, usertest4_.USER_NAME as USER2_15_1_ from BOOKTEST this_, TOPICTEST usertesti
d1_, USERTEST usertest4_ where this_.TOPICTEST_ID=usertestid1_.ID and this_.USER
TEST_ID=usertest4_.ID(+)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese
In der Theorie sollte das funktionieren, wenn nicht, versuchen Sie es ohne aliasing.
(+)
macht es einenleft join
finden Sie unter dba-oracle.com/tips_oracle_left_outer_join.htm Sie müssen in Oracle 8iDiese Letzte Funktion ist depricated im neuen hibernate-version.
https://docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/FetchMode.html
verwenden FetchMode.BEITRETEN
danke