gpt4 book ai didi

java - POJO 与其他 POJO 引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:30:54 25 4
gpt4 key购买 nike

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

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

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

所以,我想我的问题是处理这个问题的正确方法是将引用 (Id) 放在 POJO 中,然后让业务层 (?) 进行正确的调用以获取信息吗?或者以某种方式传递对实际 POJO 中的 DAO 的引用是否可以,以便我可以在引用时延迟加载对象对象?但是你如何处理循环引用呢?当我有一个 Person 并且我延迟加载他们的所有约会时,这些约会也会有一个与之关联的 Person。当我加载此 Person 时,它可能具有与我为其加载 Appointments 的 Person 不同的信息。

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

因为 Person 在我去延迟加载他们的约会时可能已经改变了。我确实需要 Appointment 中的 Person 对象来引用同一个 Person 对象。

我正在全力以赴。我知道我可以“让它工作”,但我想尝试找到一个好的解决方案。我当时正在考虑为此使用 hibernate ,但认为这真的太过分了。也许不是。

最佳答案

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

继续阅读 how to do it在文档中。

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

关于java - POJO 与其他 POJO 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2034907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com