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