【发布时间】:2015-05-25 00:07:06
【问题描述】:
我正在开发一个使用 JPA 管理数据库中的两个表的应用程序。第一个包含用户,第二个包含项目;一个用户可以有很多项目,但一个项目只对应一个用户。这意味着从用户到项目存在一对多关系,从项目到用户存在多对一关系。
我的应用程序是 RESTful 服务,我目前正在通过网络将 DTO 传输到显示实体信息的网络应用程序。当我将信息从用户实体转换为用户 DTO 时,我无法发送其所有项目,因为它们可能太多,所以我从用户数据库中获取一个实体并将其转换为没有项目的 DTO。
我的问题是,如果我想更新用户的信息,当我将 DTO 转换回实体时,它不会有任何项目,那么,如何保存更改以保留代表用户项目的外键更新其信息?
我知道 EntityManager 使用 merge() 方法来更新数据库中的信息,但是,这不会影响我要保留的外键吗?因为我试图保存一个没有项目的实体?
【问题讨论】:
标签: rest jpa merge entitymanager dto