如何为具有一对多关系的一个实体的JPA编写DAO

时间:2016-05-21 17:39:46

标签: java hibernate jpa eclipselink dao

我正在写DAO,例如我有Employee和Address实体 一名员工可以有多个地址。

现在我的EmployeeDao有CRUD操作,我有一个getEmployeeById方法,它接受String作为输入并返回EmployeeDto(注意Dto),现在在某些情况下我只需要EmployeeDto,而在某些情况下我需要EmployeeDto和AddressDto。

我的问题是我应该在EmployeeDao的getEmployeeById方法中将AddreddEntity写入AddressDto转换,这是正确的方法吗?有没有更好的方法来解决这种现实世界的问题?

我正在使用JPA

1 个答案:

答案 0 :(得分:0)

我想说应该有服务层来处理你的JPA实体并为你提供Dto。

DAO应该提供对单个相关数据源的访问,其方法应该在一定程度上反映数据库。

服务可以提供更高级别的界面来处理您的业务对象,它可以与不同的数据库(以及不同的DAO)进行交互。它可能具有某些业务逻辑,可将多个数据对象转换为单个健壮的业务对象。