【问题标题】:How to write DAO for JPA having One entity with One to many relationship如何为具有一个具有一对多关系的实体的 JPA 编写 DAO
【发布时间】:2016-05-21 17:39:45
【问题描述】:

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

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

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

我正在使用 JPA

【问题讨论】:

    标签: java hibernate jpa eclipselink dao


    【解决方案1】:

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

    DAO 应该提供对单一相关数据源的访问,并且它的方法应该在某种程度上更接近地反映数据库。

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

    【讨论】:

    • 如果是 JPA,那么就没有使用 DAO 了吗?
    • 如果是 JPA,也应该有 DAO。但它只会保留数据库交互部分,其余处理可以根据您的要求在服务层完成。考虑一下。
    猜你喜欢
    • 2012-11-25
    • 2012-12-17
    • 2011-03-24
    • 2014-04-28
    • 1970-01-01
    • 2012-09-29
    • 2023-03-05
    • 2021-03-27
    • 1970-01-01
    相关资源
    最近更新 更多