POJO与其他POJO参考

jr.*_*jr. 6 java hibernate lazy-loading circular-reference

我正在开发一个API来访问存储在系统中的数据.系统包含与这些约会相关的人员,约会和程序.我的申请将严格为只读.

我使用Spring w/RowMapper来构建诸如" Person"," Appointment"和" Procedure"之类的对象.我为每个元素都有一个DAO.(即:PersonDAO.getById(),PersonDAO.getByName(),..).

问题在于它Appointment具有Person对象的引用.在Person对象中引用它Person的约会会很好,但是如果我开始加载它们就会变成循环引用.

所以,我想我的问题是处理这个问题的正确方法只是将引用(Ids)放在POJO中然后让业务层(?)只是做出正确的调用来获取信息?或者是否可以以某种方式传递实际POJO中对DAO的引用,以便在引用时可以懒惰地加载对象对象?但那么你如何处理循环引用?当我有一个Person和我懒惰加载所有约会时,这些约会也将有一个与他们相关联的人.当我加载Person它时,它可能会有来自Person我正在加载约会的不同信息.

Person(对象x)懒惰加载 - >约会可能懒惰加载Person(对象x').

因为Person我懒惰加载他们的约会时可能会改变.我真的需要将Person对象Appointment引用回同一个Person对象.

我全都抓住了这一点.我知道我可以"让它成功",但我想尝试找到一个好的解决方案.我正在考虑使用hibernate,但是认为这真的太过分了.也许不是.

ska*_*man 2

您正在描述一个双向关联,Hibernate 对此有特定的(并且通常非常好的)支持。

在文档中阅读如何操作。

手动滚动会非常繁琐且容易出现错误。我不会推荐它。使用 Hibernate 等 ORM 工具的强大功能,这就是它们的用途。