Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从我的对象中清除Hibernate,但不要';t惰性负载_Java_Hibernate_Serialization_Lazy Loading - Fatal编程技术网

Java 从我的对象中清除Hibernate,但不要';t惰性负载

Java 从我的对象中清除Hibernate,但不要';t惰性负载,java,hibernate,serialization,lazy-loading,Java,Hibernate,Serialization,Lazy Loading,我有一个JPA+Hibernate实体,我需要通过RMI发送到一个不知道Hibernate的客户机,所以我制作了一个方法来“清理”Hibernate: // shortened public class Player { private Set<Item> ownedItems; public void makeSerializable() { ownedItems = new HashSet<Item>(ownedItems); } }

我有一个JPA+Hibernate实体,我需要通过RMI发送到一个不知道Hibernate的客户机,所以我制作了一个方法来“清理”Hibernate:

// shortened
public class Player {
   private Set<Item> ownedItems;
   public void makeSerializable() {
      ownedItems = new HashSet<Item>(ownedItems);
   }
}
//缩短
公开课选手{
私人设置自己的编辑;
public void makeSerializable(){
ownedItems=新哈希集(ownedItems);
}
}
但是,当我调用
makeSerializable
Hibernate时,如果尚未加载
ownedItems
,Hibernate将尝试延迟加载它,这是我不希望的,因为存在Hibernate会话,这也是不可能的。相反,如果未加载
ownedItems
,我希望将其设置为null或空集

如果(!Hibernate.isInitialized(ownedItems))我怎么做{
if (!Hibernate.isInitialized(ownedItems)) {
    ownedItems = new HashSet<Item>();
}
ownedItems=newhashset(); } 这是一种测试集合是否在不需要会话的情况下初始化的方法