将DAO与复合对象一起使用

er4*_*z0r 5 java database design-patterns

我试图重写一堆DAO这里是设置:

  • 只有普通的JDBC(没有任何JPA,ORM)
  • 没有使用接口
  • 插入对象之前的大量检查
  • 业务对象密切相关

我的主要问题是:如何持久/检索由多个其他对象组成的业务对象?例如,我的CustomerDAO是否知道AddressDAO并从那里检索csutomers地址?

Vik*_*dor 2

仅普通 JDBC(无 JPA、ORM 等) 业务对象是强链接的

不知道为什么当您希望链接业务对象时不想使用 JPA,但至少您应该使用 Spring JDBC 模板,它可以让您摆脱一些样板代码。

关于其他限制,我会这样做:

  1. 我仍然会使用接口来定义DAO方法并在 Spring JDBC 模板支持中实现它们DAOImpl。到处使用 DAO 并注入 DAOImpl。
  2. 我的 DAO 将只是一对一映射到基础表,并且每个 DAO 不会知道其他 DAO 的存在。
  3. 我的经理层将拥有运行验证检查并准备需要持久化的对象集、调用适当的 DAO 和适当的方法(CREATE/UPDATE/DELETE)来持久化对象的所有业务逻辑。
  4. 同样,管理器层将遵循基于接口的实现,视图层将使用 ManagerImpls 注入管理器类型。

我的两分钱!