【发布时间】:2015-07-25 20:00:05
【问题描述】:
我正在使用分层架构开发 Web 应用程序。我有:
- 应用层(控制器)
- 服务层(服务)
- 数据访问层 (DAO)
连接到后端 Oracle 数据库。
我使用 JPA 和 Hibernate 作为实现。因此,我创建实体来为关系数据库表的对象视图建模。
我的问题是......在我的所有 3 个图层中使用这些实体对象是否被认为是不好的做法?
我知道它至少需要被数据访问层使用,但是在服务和应用层之外呢?
我看到有些人在服务和应用程序层中使用 DTO,他们在 DTO 和服务和数据访问层之间的实体之间进行转换。
只是想知道这方面的最佳做法是什么,最好的方法应该是什么?
【问题讨论】:
-
实体的适当范围/生命周期通常取决于其实体管理器的生命周期/范围。它们可能在管理器范围之外是陈旧的,但过早丢弃它们,您可能无法有效地使用管理器的一级缓存。没有一种万能的方法。您应该做什么取决于平台选择、JPA 的集成方式以及需求。
标签: java hibernate jpa standards