我有兩個實體:用戶和地址。用戶有一個「地址」屬性:問題使用條件和提取類型渴望
@OneToMany (mappedBy="user", fetch=FetchType.EAGER)
public List<Adress> getAddress() {
return this.address;
}
public void setAddress(List<Adress> address) {
this.address= address;
}
的提取類型是渴望如上所示。
我想使用標準,以獲得用戶的列表如下:
List<User> p=session.createCriteria(User.class).list();
不幸的是它被重複的用戶,如果用戶有多個地址。在關閉提前取回的情況下,它不會重複。如何使用Criteria獲取沒有重複項目的用戶列表?
我需要在幾乎所有的方法中獲取用戶列表,否則,我得到許多懶惰沒有會話打開...例外。無論如何,即使我會按照你所說的每個查詢來完成,問題仍然存在。 – cracq
+1解釋和我的更正。 –
@cracq:對於LazyInitializationExceptions而言,提前取出正是錯誤的解決方案。請參閱[我的答案](http://stackoverflow.com/questions/6709750/proper-usage-of-spring-mvc-3-with-hibernate-spring-orm/6710885#6710885)瞭解如何解決這些問題。查看「會話管理」。您可能還會發現[這個答案](http://stackoverflow.com/questions/6722158/best-way-to-handle-hibernate-sessions-in-a-layered-spring-mvc-web-application/6723767#6723767 )有用。 –