jpa 2.0 是否有某种“相反”来引用延迟加载注释?即一个注释,提示 jpa 如果带注释的引用是对该对象的唯一剩余引用,则如果内存不足,则目标对象有资格进行垃圾收集。
如果访问先前加载的引用,我将完全满足于支付性能损失,因为它已被换出,导致后续加载相同的引用。我需要这样的行为,因为我的域太大而无法保存在内存中。我一直在寻找这个,但一直空手而归,这让我想知道我是否错误地解决了这个问题。
jpa 2.0 是否有某种“相反”来引用延迟加载注释?即一个注释,提示 jpa 如果带注释的引用是对该对象的唯一剩余引用,则如果内存不足,则目标对象有资格进行垃圾收集。
如果访问先前加载的引用,我将完全满足于支付性能损失,因为它已被换出,导致后续加载相同的引用。我需要这样的行为,因为我的域太大而无法保存在内存中。我一直在寻找这个,但一直空手而归,这让我想知道我是否错误地解决了这个问题。
jpa 2.0 是否有某种“相反”来引用延迟加载注释?
与之相反的Lazy
是Eager
,不幸的是,这可能不是您想要的,因为这些是“获取方法”。
即一个注释,提示 jpa 如果带注释的引用是对该对象的唯一剩余引用,则如果内存不足,则目标对象有资格进行垃圾收集。
不,没有这样的注释。这种行为听起来像是你不想要的。这可以在NullPointerException
s、IndexOutOfBoundException
s、LazyInitializationException
s 等中解决。一个对象只有在对象没有对它的引用时才有资格进行垃圾回收。(这不是 gc 的完整解释,但这是基本规则。)
如果访问先前加载的引用,我将完全满足于支付性能损失,因为它已被换出,导致后续加载相同的引用。我需要这样的行为,因为我的域太大而无法保存在内存中。我一直在寻找这个,但一直空手而归,这让我想知道我是否错误地解决了这个问题。
我认为您以错误的方式处理问题。我对你的申请一无所知,所以很难说你能做什么。如果不再需要某个对象(通过您的方式),那么您需要处理它。JPA 不会自动为您执行此操作。