gpt4 book ai didi

java - 从另一个 DAO 调用一个 DAO?

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:25 28 4
gpt4 key购买 nike

这有道理吗?

假设我需要从 DB 中获取一个对象,该对象与另一个对象有关系(由 DB 中的外键表示,并由我的域对象中的组合表示)。如果在我的第一个 DAO 中,我为对象 1 获取数据,然后为对象 2 调用 dao,最后(从第一个 DAO 中,调用对象 1 中的 setter 并为其提供先前获取的对象 2)。

我知道我可以改为执行联接,但对我来说,分离功能似乎更合乎逻辑(这就是为什么我对从一个 dao 调用另一个 dao 持怀疑态度)。还是应该将一些逻辑移到服务层?

谢谢

更新:我想我在答案的帮助下解决了问题:我需要做的就是将以下内容添加到对象 1 的映射中:

<one-to-one name="Object2" fetch="join"
class="com...Object2"></one-to-one>

我不需要更改任何其他内容。感谢您的帮助!

最佳答案

在阅读本文时,我只能得出结论,您很可能做错了..;)

如果您在 ObjectA 和 ObjectB 之间正确设置映射(可以是 OneToOne、OneToMany 或 ManyToMany),Hibernate 将自动(延迟)将引用从 A 加载到 B。这将消除查询第二个 DAO 并在 ObjectA 中设置 ObjectB 引用的需要。

更进一步,您甚至可能不需要 ObjectB 的 DAO!

关于java - 从另一个 DAO 调用一个 DAO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285005/

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