如何通过NaturalId有效地更新Hibernate上的行?

时间:2018-06-27 17:17:55

标签: java hibernate jpa

我试图在我的存储库中编写一个方法来接收具有自然ID的实体,所以我实际上在做的是使用Session类中的bySimpleNaturalId()方法检索该实体,然后更新其使用setter方法的字段:

SomeEntity db = entityManager.unwrap(Session.class)
            .bySimpleNaturalId(SomeEntity.class)
            .load(entity.getNaturalId());
db.setField1(entity.getField1());
...

但是,我注意到这种方法触发了一个选择查询,该查询从数据库中检索所有实体字段,然后更新相同的字段。所以我的问题是,如何避免选择查询,因为我不需要这些字段值,因为我只是使用实体来更新其某些值。

非常感谢您

0 个答案:

没有答案