【发布时间】:2012-10-05 21:00:09
【问题描述】:
这是我在使用 jpa 时注意到的一件奇怪的事情。我正在使用 openjpa 1.0、RAD 8.0 和 WAS 6.1(不,我不能使用 jpa 2)。
我有一个 ProductArrangement 类,在该类中有一个 Accounts 列表。在一个帐户中,我有一个报表列表。当我使用初始帐户和初始语句创建初始 productArrangement 时,持久性完美无缺。一切都正确存储在数据库中。
稍后我想向 productArrangement 中的帐户添加一条语句,我可以通过查找访问该语句,但持久性在帐户或语句中没有结果。 productArrangement 的更改是成功的。但是,当我在 getAccount().addStatement(statement) 之前执行 getAccount().getStatements() 时,它可以正常工作。这怎么可能?是不是因为它的惰性获取,我必须先获取?
【问题讨论】:
-
延迟提取不应该是问题,因为当您调用 addStatement 时,应该填充延迟集合。请发布您的 ProductArrangement、Account 和 Statement 类的代码。
标签: jpa lazy-evaluation cascade openjpa