2
這一個讓我難住。我有一個想法如何標準的工作,但由於某種原因,這個查詢給我的問題無法找到一個屬性,當它明確存在。Hibernate標準無法解決屬性時,它存在
Shelf.java
@Entity
@Table(name="BOOKSHELF")
public class Shelf {
@Id
private int shelfId;
private String shelfName;
private String shelfType;
@OneToMany(mappedBy="shelf",cascade=CascadeType.ALL)
private Set<Book> book = new HashSet<Book>(0);
//getters&setters here
Book.java
@Entity
@Table(name="BOOKS")
public class Book {
@Id
private int bookId;
private String bookName;
private String bookState;
@ManyToOne(cascade=CascadeType.ALL)
private Shelf shelf;
//getters&setters here
這裏是我的條件查詢:
Criteria criteria = session.createCriteria(Book.class)
.add(Restrictions.eq("shelf.shelfId", bookLocId))
.add(Restrictions.ne("shelf.shelfType", "table"))
.add(Restrictions.ne("bookState", "requested");
的問題是中間限制。它找不到shelfType
,但它發現shelfId
就好。感謝您的任何幫助!
謝謝博胡斯拉夫!這很好。我確實研究過'.createAlias',但也許我第一次沒有正確使用它。再次感謝。現在更清楚了。 – SS113