JPQL:如何检索数据列表并为该列表中的每个数据设置值

时间:2011-04-14 22:13:19

标签: jpa jpa-2.0 jpql

所以我有一个实体Notification,它有一个布尔属性readStatus来确定是否已经读取了通知。当我点击一个按钮时,我想编写一个JPQL来检索未读通知(readStaus=false),并将这些未读通知的readStatus设置为true

注意:我不想编写jpql来检索列表并手动循环遍历列表以设置readStatus并将它们合并回数据库

2 个答案:

答案 0 :(得分:3)

这是解决方案

UPDATE Notification n SET n.readStatus = true WHERE n.readStatus = false

答案 1 :(得分:0)

List<Notification> notifications = 
    em.createQuery("select n from Notification n where n.readStatus = false")
      .getResultList();
for (Notification n : notifications) {
    n.setReadStatus(true);
}