Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 卸载JPA引用_Java_Jpa_Jpa 2.0_Eclipselink - Fatal编程技术网

Java 卸载JPA引用

Java 卸载JPA引用,java,jpa,jpa-2.0,eclipselink,Java,Jpa,Jpa 2.0,Eclipselink,JPA2.0是否有某种“反面”来引用延迟加载注释?i、 e.一种注释,它向jpa提示,如果注释的引用是对象的唯一剩余引用,那么如果内存不足,则目标对象可用于垃圾收集 如果访问以前加载的引用,导致随后加载相同的引用,因为它已被调出,那么我将完全满足于支付性能损失。我需要这样的行为,因为我的域太大,无法保存在内存中。我一直在寻找这个问题,但总是空手而归,这让我怀疑我是否处理错了这个问题 JPA2.0是否有某种“反面”来引用延迟加载注释 与懒惰相反的是渴望,不幸的是,这可能不是您想要的,因为这些是“获

JPA2.0是否有某种“反面”来引用延迟加载注释?i、 e.一种注释,它向jpa提示,如果注释的引用是对象的唯一剩余引用,那么如果内存不足,则目标对象可用于垃圾收集

如果访问以前加载的引用,导致随后加载相同的引用,因为它已被调出,那么我将完全满足于支付性能损失。我需要这样的行为,因为我的域太大,无法保存在内存中。我一直在寻找这个问题,但总是空手而归,这让我怀疑我是否处理错了这个问题

JPA2.0是否有某种“反面”来引用延迟加载注释

懒惰
相反的是
渴望
,不幸的是,这可能不是您想要的,因为这些是“获取方法”

i、 e.一种注释,它向jpa提示,如果注释的引用是对象的唯一剩余引用,那么如果内存不足,则目标对象可用于垃圾收集

不,没有这样的注释。这种行为听起来像是你不想要的。这可能在
NullPointerException
s、
IndexOutOfBoundException
s、
LazyInitializationException
s等中解决。只有当对象没有引用时,对象才有资格进行垃圾回收。(这不是g.c.的完整解释,但这是基本规则。)

如果访问以前加载的引用,导致随后加载相同的引用,因为它已被调出,那么我将完全满足于支付性能损失。我需要这样的行为,因为我的域太大,无法保存在内存中。我一直在寻找这个问题,但总是空手而归,这让我怀疑我是否处理错了这个问题


我认为你处理这个问题的方式不对。我对你的申请一无所知,所以很难说你能做什么。如果不再需要某个对象(通过您的方式),那么您需要处理它。JPA不会自动为您这样做。

谢谢您的回答!我现在意识到我应该更具体地回答我的问题。我的域模型太大,无法保存在内存中的无向图。我的客户机逻辑遍历图形,在遇到节点时处理它们。一旦一个节点被处理,客户机逻辑通过跟随它的一个链接到相邻节点来进行。如果有足够的时间,遍历算法将重新处理以前处理过的节点。由于内存原因,我需要卸载一个已处理的节点,但在某个时刻将再次需要一个已卸载的节点。使用JPA实现这一点的最佳方式是什么?