1
我有一個JPA + Hibernate實體,我需要通過RMI發送到不知道Hibernate的客戶端,所以我做了一個方法來「清理」Hibernate從中:從我的對象清洗休眠但不延遲加載
// shortened
public class Player {
private Set<Item> ownedItems;
public void makeSerializable() {
ownedItems = new HashSet<Item>(ownedItems);
}
}
然而,當我打電話makeSerializable
Hibernate嘗試延遲加載ownedItems
如果它尚未加載,我不想要的,並且這也是不可能的,因爲有Hibernate會話。相反,如果ownedItems
未加載,我想將其設置爲空或空集。
我該怎麼做?