Envers - 选择已编辑的实体

时间:2013-08-14 11:27:39

标签: java spring hibernate hibernate-envers

我正在尝试实现一项功能,以便将Android应用与服务器同步。

在同步时,android中的应用程序登录并说明它是你上次同步的时间(这只是现在的理论)。

问题是,服务器需要选择自报告日期以来已更改的所有实体,由客户过滤,并将其(以json方式)回复给应用程序;

另一种方法是在每个实体中创建一个“lastUpdate”列。 但是,Web系统已经使用了Hibernate Envers。实体注释为@audited

如何使用revinfo表选择自日期以来发生更改的所有实体? 记住我不需要实体的历史记录。只需要知道发生了什么变化。只有最新版本才会发送到Android应用程序。 在升级过程中,如何获得多次修改的实体只出现一次?

谢谢。

1 个答案:

答案 0 :(得分:0)

最好根据分离关注原则将这些应用程序逻辑与revinfo表分开。

不完全确定您案例的具体情况,但是使用修订ID和布局(或日期)的联接表是跟踪此活动的低成本方式,同时使您的Envers审核数据处于干净状态。毕竟,您的业务逻辑可能会发生变化,并且用例可能会成倍增加,但对实体更改的审核可能会保持不变。