JPAクエリを作成するループにいるとしましょう:
for(A elem : collection) {
emanager.createQuery("update A a set a.x=:y where a.id=:id")
.setParameter("id",elem.id)
.setParameter(":y", 123)
.executeUpdate();
}
返されたQuery
インスタンスを再利用できますか?
Query query = emanager.createQuery("update A a set a.x=:y where a.id=:id");
for(A elem : collection) {
query
.setParameter("id",elem.id)
.setParameter(":y", 123)
.executeUpdate();
}
のすべてのインスタンスに適用されますQuery
か? NamedQuery
、NativeQuery
など もちろん、EntityManager
同じトランザクション内、つまり同じトランザクション内でインスタンスを再利用することについて話しています。