【发布时间】:2017-06-26 01:36:03
【问题描述】:
出于性能原因,许多报表查询在 ORM 托管对象之外执行。
为了存储结果,我使用每个查询一个类来保存 DB 访问方法和服务之间的数据行。
例如在 Java/Hibernate/Spring 中:
@Repository
public interface DataRepository extends JpaRepository<DataDAO, Long> {
@Query("select new com.evil.db.XXX(...) from #{#entityName} where ...")
List<XXX> findXXX(...);
XXX 的名称是什么?是DTO 还是DAO 还是Business object?模式书和框架参考手册中如何命名中间存储类?这是一个POJO,但这个词太笼统了......
我通常将这些类作为内部静态类,并且可以为包含数据的名称提供合适的名称。
但是如果顶级类代表它的角色,我喜欢为类名添加后缀,就像传统上为DAO/Service/Controller/etc 所做的那样......
【问题讨论】:
-
从数据库加载的 IMO 对象不需要任何额外的后缀。比如调用
User、Location等类没有错。
标签: java design-patterns orm naming-conventions