Hibernate将消息标记为“已读”

时间:2014-08-08 19:01:55

标签: java sql json hibernate

我的应用程序有一个实体Message,可以是“已读”或“未读”。

客户可以要求读取或未读取消息,或同时要求两者(以及其他标准)。我想要做的是将结果集的一些属性作为JSON对象返回,如果此结果集中有未读消息,请将它们标记为已读并将其状态保存到数据库。

通过首先迭代结果集并提取所需数据,然后重复相同的集合并更新必要的消息,我们可以做到这一点。

但这是最佳方式吗?我们不能使用sql触发器或一些hibernate功能吗?

1 个答案:

答案 0 :(得分:0)

  1. 使用其他更新声明更新记录。
  2. 创建用于获取数据的存储过程。
  3. JPA规范包含@PostLoad注释,您可以阅读它here。但是我对此非常小心,因为hibernate可以随时在Message实体上发出负载(你团队中的其他人会调用load并且你的记录被搞砸了)。