当前位置: 首页 > 面试题库 >

从另一个DAO调用一个DAO?

公羊绪
2023-03-14
问题内容

这有道理吗?

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

我知道我可以代替加入连接,但是对我来说,断开功能耦合似乎更合乎逻辑(这就是为什么我对从另一个调用一个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!



 类似资料:
  • 我正在使用ZXING1.7库开发J2ME条形码扫描器,因为1.7是支持J2ME的最新版本。 由于条形码功能已经作为这个Zxing的一部分出现了,所以我需要从我的组件MIDlet调用ZxingMidlet.java。 由于我对J2ME非常陌生,所以我不知道如何从另一个MIDlet调用ZxingMidlet。如果有人已经在J2ME上工作过/有这方面的经验,请提供您的投入/支持。 这对我会有很大的帮助。

  • 我想从class1调用class2,但是class2没有一个可以引用的主函数,比如

  • 问题内容: 我已经尝试了一段时间(同样,在这里搜索),当在其他片段中按下按钮时,它可以帮助我刷新MainFragment中的listView。Sommeone可以解释一下如何使其工作吗? 这是带有函数的MainFragment(我不包括其他函数,因为我看不到它们如何起作用): } 这是另一个片段: } 问题答案: 这段代码最适合我。似乎很容易

  • 问题内容: 我需要从另一个Servlet调用Servlet的POST方法,并在Servlet的参数中传递一个Blob。这是可能的,如果可以的话,该怎么做。PS:我不能使用Apache HttpClient 问题答案: 您需要自己创建并发送HTTP请求。您不能使用转发/重定向/包含,因为您要将方法从GET更改为POST,并且想要发送请求。 由于显然不是HttpClient(以及其他第三方库?),您最

  • 我正在做一个新的项目,我试图建立一个货币系统,在那里我可以提取它,以转移到另一个变量(在另一个类)。我在解决这个问题上遇到了一些问题,我对如何编写代码感到非常失望。下面是我想链接的类(我想让“coinsamount”在我做/存款时进入类2“amount” 第2类:

  • 我正在Java Swing中开发一个桌面应用程序。我遇到了一个问题,从另一个JInternal Frame显示JInternalFrame。 我有3帧主框架,其中我放置jdesktopPane是(frmMain)和2个JInternalFrames(f1和f2) 我在frmMain中有菜单,从那里我可以很容易地调用和显示2个JInternalFrames,但问题是如何通过单击f2上的按钮来调用f1