我正在尝试实现一项功能,以便将Android应用与服务器同步。
在同步时,android中的应用程序登录并说明它是你上次同步的时间(这只是现在的理论)。
问题是,服务器需要选择自报告日期以来已更改的所有实体,由客户过滤,并将其(以json方式)回复给应用程序;
另一种方法是在每个实体中创建一个“lastUpdate”列。
但是,Web系统已经使用了Hibernate Envers。实体注释为@audited
。
如何使用revinfo
表选择自日期以来发生更改的所有实体?
记住我不需要实体的历史记录。只需要知道发生了什么变化。只有最新版本才会发送到Android应用程序。
在升级过程中,如何获得多次修改的实体只出现一次?
谢谢。
答案 0 :(得分:0)
最好根据分离关注原则将这些应用程序逻辑与revinfo表分开。
不完全确定您案例的具体情况,但是使用修订ID和布局(或日期)的联接表是跟踪此活动的低成本方式,同时使您的Envers审核数据处于干净状态。毕竟,您的业务逻辑可能会发生变化,并且用例可能会成倍增加,但对实体更改的审核可能会保持不变。