有时,在我们有实体 ID 列表的情况下,我必须更新一组相关的已传递 ID 实体的字段,我正在徘徊在哪些情况下最好通过 1-st 使用标准方式:加载所有实体和 2-nd:调用相关的 set() 方法:
List<Long> ids = ....;
String par = "example";
List<User> users = USER_DAO.getUsers(ids);
for(User user : users) {
user.setField(par);
}
或者另一种方式是通过执行批量更新操作,例如:
Query query = em.createQuery("UPDATE User user SET user.field =:1? WHERE user.id IN : 2?");
int rowCount = query.executeUpdate();
您对该问题有一些了解和/或调查吗?或者情况,当第一种方式比第二种方式更好或 vs. 时?
欢迎所有建议,谢谢,SImeon