0

jpa 2.0 是否有某种“相反”来引用延迟加载注释?即一个注释,提示 jpa 如果带注释的引用是对该对象的唯一剩余引用,则如果内存不足,则目标对象有资格进行垃圾收集。

如果访问先前加载的引用,我将完全满足于支付性能损失,因为它已被换出,导致后续加载相同的引用。我需要这样的行为,因为我的域太大而无法保存在内存中。我一直在寻找这个,但一直空手而归,这让我想知道我是否错误地解决了这个问题。

4

1 回答 1

0

jpa 2.0 是否有某种“相反”来引用延迟加载注释?

与之相反的LazyEager,不幸的是,这可能不是您想要的,因为这些是“获取方法”。

即一个注释,提示 jpa 如果带注释的引用是对该对象的唯一剩余引用,则如果内存不足,则目标对象有资格进行垃圾收集。

不,没有这样的注释。这种行为听起来像是你不想要的。这可以在NullPointerExceptions、IndexOutOfBoundExceptions、LazyInitializationExceptions 等中解决。一个对象只有在对象没有对它的引用时才有资格进行垃圾回收。(这不是 gc 的完整解释,但这是基本规则。)

如果访问先前加载的引用,我将完全满足于支付性能损失,因为它已被换出,导致后续加载相同的引用。我需要这样的行为,因为我的域太大而无法保存在内存中。我一直在寻找这个,但一直空手而归,这让我想知道我是否错误地解决了这个问题。

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

于 2012-08-27T21:16:21.310 回答