java - Hibernate 将消息标记为 'read'

标签 java sql json hibernate

我的应用程序有一个实体Message,它要么是“已读”,要么是“未读”。

客户可以要求提供已读或未读消息或两者兼而有之(以及其他条件)。我想要做的是将结果集的一些属性作为 JSON 对象返回,如果此结果集中有未读消息,则将它们标记为已读并将其状态保留到数据库。

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

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

最佳答案

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

关于java - Hibernate 将消息标记为 'read',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25210534/

相关文章:

javascript - 从 JSON 文件中删除字符串实例,然后解析它

java - 在服务器上创建图表并从客户端访问它是糟糕的设计吗?

mysql - SUM - 为什么当我使用 sum 和使用计算器时我得到不同的总和)?

java - 如何从存储过程返回多行?

java - 在文本字段中验证 PIN 码

json - NSURLConnection 错误。适用于 iOS 而非 OSX

java - 如何从操作类中选择特定对象

java - 在检查 ConcurrentHashMap 中是否存在 key 时,是否需要客户端锁定?

java - 由于数据类型中的一些错误,我的构造函数未按预期工作,我无法弄清楚原因

Java 向 MongoDB 中的数组插入值