首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含其他POJO引用的POJO

包含其他POJO引用的POJO
EN

Stack Overflow用户
提问于 2010-01-10 04:51:29
回答 2查看 1K关注 0票数 6

我正在开发一个API来访问存储在系统中的数据。系统包含人员、约会和与这些约会相关联的程序等内容。我的应用程序将严格是只读的。

我使用Spring / RowMapper来构建诸如"Person“、"Appointment”和"Procedure“这样的对象。我对每个元素都有一个DAO。(例如:PersonDAO.getById()PersonDAO.getByName(),..)。

问题出在Appointment引用了一个Person对象。在Person对象中有一个对该Person的约会的引用是很好的,但是如果我开始加载这些约会,它就变成了一个循环引用。

所以,我想我的问题是处理这个问题的正确方法就是将引用( in )放在POJO中,然后让业务层(?)只要打个正确的电话就能得到信息?或者可以在实际的POJO中传递对DAO的引用,这样我就可以在被引用时懒惰地加载对象对象?但是,如何处理循环引用呢?当我有一个Person,并且我懒惰地加载他们的所有约会时,这些约会也会有一个与之关联的人。当我加载此Person时,它可能具有与我正在加载约会的Person不同的信息。

延迟加载->约会的Person (对象x)可能延迟加载Person (对象x')。

因为当我懒洋洋地加载他们的约会时,Person可能已经改变了。我真的需要Appointment中的Person对象来引用相同的Person对象。

我被这件事搞得焦头烂额。我知道我可以“让它工作”,但我想试着找到一个好的解决方案。我正在考虑使用hibernate来实现这一点,但我认为这实在是言过其实了。也许不是。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-10 04:54:16

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

在文档中阅读有关how to do it的信息。

手动滚动将是相当繁琐和容易出错的。我不建议你这么做。使用像Hibernate这样的ORM工具的强大功能,这就是它们存在的目的。

票数 2
EN

Stack Overflow用户

发布于 2010-01-10 05:28:27

扩展使用Hibernate的建议,我建议查看Hibernate支持的JPA注解支持(我相信它是J2EE规范的一部分)。你可以用@ManyToMany注解你的类。请查看以下文档:

https://www.hibernate.org/397.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2034907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档