簡體   English   中英

休眠為什么我的對象變得分離?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM