【发布时间】:2022-01-05 04:03:14
【问题描述】:
我正在尝试使用 JPA 进行多次更新。我现在的情况,可能是使用 JPA 更新同一实体中的多个列记录。我试图避免在循环中使用更新语句,但我找不到任何相关信息。
我使用entity manager 来执行查询
@Override
public void updateAllNotes(List<Note> NOTES) {
LocalTime now = LocalTime.now(ZoneId.of("America/Mexico_City"));
String query = "UPDATE Note SET TITLE = :title, CONTENT = :content, UPDATED_AT = :updatedAt WHERE ID = :id";
/* I'm trying to avoid this */
for (Note note:NOTES) {
entityManager.createQuery(query)
.setParameter("title", note.getTitle())
.setParameter("content", note.getContent())
.setParameter("updatedAt", now)
.setParameter("id", note.getId())
.executeUpdate();
}
}
【问题讨论】:
标签: java jpa entitymanager