我遇到了一个奇怪的问题,使用JPA的Toplink实现。我正在编写一个独立的应用程序来管理贷款。Java JPA OneToMany - “很多”关系不刷新
我定义了一个与NOTICE类具有OneToMany(双向)关系的LOAN类。我创建了一个GUI来显示特定贷款的所有通知。在我的计划的另一部分,我可以发出延迟通知,并保存为通知。但是,当我尝试显示贷款的所有通知时,迟到通知不会显示。我检查了数据库,并且已经保存了一个条目,但由于某种原因,通知未被取消。
只有当我重新启动我的应用程序时,才会显示此通知。
因为我已经定义了一个OneToMany关系,我自己并没有对数据库进行“直接”查询 - 我让JPA处理为我检索所有通知。
作为一个修复,我创建了一个查询来简单地获取特定贷款的所有通知。这工作。然而,我认为通过定义两个类之间的OneToMany关系,这应该为我处理。看起来好像某些东西没有被正确刷新...就像是在使用“较旧”的通知列表而不是从数据库刷新一样?
你能告诉您的贷款和@OneToMany映射,你要保存的代码? – 2009-09-23 13:39:33
很高兴我的答案能够帮助你,我遇到过几次与不同的ORM一起工作的类似问题。它可能会让人困惑,因为ORM需要处理一个对象生命周期的很多部分,以至于在需要一些额外的代码时很难分辨出来。 – 2009-09-25 15:41:09