所以想象你有实体用户有字段id(PK),ssn(唯一),姓名,姓氏和生日
现在,从另一个来源我有除id之外的所有字段,
所以我想做一些像
这样的事情User newInformationUser = new User();
newInformationUser.setSsn(feed.getSsn());
newInformationUser.setName(feed.getName());
...
// make the following sentence to use ssn for updating the data
entityManager.merge(newInformationUser);
我很感激你的意见吗?不可能?
答案 0 :(得分:0)
您不能将merge
与新实体一起使用。合并是针对已存在的实体,用于更改现有实体的字段。如果您不了解id
,那么您将使用其他字段来查找现有实体。
User user = em.find( .. somehow ... );
user.setSsn(...);
em.merge(user);
问问自己:EntityManager
如何知道将新信息合并到哪个实体?