与修改托管实体上的访问器相比,运行 EJBQL UPDATE 语句是否会破坏容器托管持久性的性能优势?
从数据库负载/性能的角度来看,我对此特别感兴趣。
例如,如果我有一个名为 MyEntity 的实体并且我想更新 myField1 和 myField2 以下两种方法之间是否存在性能差异:
Query query = em.createQuery("UPDATE MyEntity m SET m.myField1 = :value1, m.myField2 = :value2 WHERE m.id = :id")
query.executeUpdate();
相对
MyEntity myEntity = find("123");
myEntity.setMyField1("newvalue");
myEnttiy.setMyField2("newvalue2");