[英]Hibernate why are my objects becoming detached?
Map<String, Type> myMap = new HashMap<String, Type>();
Query query = session.createQuery("" +
"SELECT a " +
"FROM Articulo a ");
List<Object> list = query.list();
// Add all query elements to the hashmap
for (Object entrada : lista) {
myMap.put(entrada.getKey(), (Type) entrada);
// Type someOtherObject = entrada.getReferencedProperty();
}
Type someObject = (Type) myMap.get("someValidKey").getReferencedProperty(); //normal getter
在這里someObject
null
,並且對象被分離。 但是,如果我取消注釋someOtherObject
行。 關系正確獲取。
到底是怎么回事?
我看不到您的整個代碼庫,但是在95%的情況下,由於您離開了事務上下文(或者您首先不在事務中),所以對象被分離。
從相關答案 :
用於保存,加載,獲取或查找實體的會話一旦關閉,該實體就會分離。 這意味着它不再連接到會話,並且像任何其他POJO一樣工作。
我發現了問題。 在代碼的更深處,我調用了session.clear()。 這導致我的所有實體分離。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.