Java 用于父/子关系和DAO/DTO模式的Hibernate GenericDAO

Java 用于父/子关系和DAO/DTO模式的Hibernate GenericDAO,java,hibernate,parent-child,dao,dto,Java,Hibernate,Parent Child,Dao,Dto,我正在寻找Hibernate中的通用DAO实现,它包括父/子关系管理(添加、删除、获取子项、设置父项等) 实际上,web上最常用的通用DAO就是我在上找到的那个 此外,我还寻找一些DAO/DTO示例实现和设计模式 你知道一些好的资源吗 父/子关系是一种特殊的一对多关系,它们不需要特殊的DAO进行交互。您只需编写如下代码: Parent p = new Parent(); Child c1 = new Child(); Child c2 = new Child(); // populate c1

我正在寻找Hibernate中的通用DAO实现,它包括父/子关系管理(添加、删除、获取子项、设置父项等)

实际上,web上最常用的通用DAO就是我在上找到的那个

此外,我还寻找一些DAO/DTO示例实现和设计模式


你知道一些好的资源吗

父/子关系是一种特殊的一对多关系,它们不需要特殊的DAO进行交互。您只需编写如下代码:

Parent p = new Parent();
Child c1 = new Child();
Child c2 = new Child();
// populate c1 and c2
p.addChild(c1);
p.addChild(c2);
childDao.save(c1);
childDao.save(c2);
parentDao.save(p);
Hibernate文档中有一部分实际显示了一个父/子实现示例:

如果您更喜欢使用注释和/或Hibernate/JPA,请查看:

我正在寻找Hibernate中的通用DAO实现,它包括父/子关系管理(添加、删除、获取子项、设置父项等)

我会将父/子链接管理保持在实体级别(并非所有实体都有父/子链接),但我会在它们上创建链接管理方法,以便在使用双向链接时设置双方,如中所述

实际上,web上使用最多的通用DAO是我在jboss.org上找到的

有几个项目在谷歌代码上有示例。我建议检查一下:

  • -JPA数据访问对象工具包
  • -使用JPA/Hibernate实现基于Java的DAO模式
  • -通用DAO实现:可扩展、详细搜索、远程服务接口

为什么不直接使用hibernate?我想,我正在为这些主题寻找hibernate资源在实体级别添加父/子管理意味着向实体映射添加自定义类代码(我使用的是xml映射),所以你不认为这会增加映射的复杂性和可维护性吗?@Marco在任何情况下,您需要在XML映射中声明这些关联(添加处理链接两侧的方法非常方便,它不会改变映射的任何内容)。