【发布时间】:2013-07-12 03:48:08
【问题描述】:
我想将 Dao 模式与 hibernate orm 一起使用,但我对如何创建数据传输对象感到困惑。
例如,如果我有一个用户表和订单表,则为一对多关系。 使用休眠我的 UserDTO 包含所有用户列 + OrdersDTO。 OrdersDTO 将由休眠的延迟加载填充,所以如果我说 UserDao.getUserByPk(1) 我会获取所有用户数据和他的所有订单,然后将此对象发送到视图。
如果我将 Hibernate 更改为 JDBC,那么我有一个问题,如果我说 UserDao.getUserByPk(1) 我只得到用户数据,对于他的订单我需要执行 OrdesDao.getOrdersByUserId(1),但在我看来我有只有一个对象。
所以我的问题是如何使用 ORM 功能(例如延迟加载),但同时如果我更改数据源,我的业务逻辑不会受到影响。
谢谢
【问题讨论】: