我有一组应用程序(运行在不同的JVM上),其中实体Student被保存到数据库(共享数据库)中。我想创建一个仪表板系统,它将几乎实时地更新网页,有多少学生已被保存(注册到系统中)。因此,我认为我会引入拦截器或侦听器(因为所有应用程序都使用休眠),而不是找到学生保存在大代码库中的地方。我将介绍一个缓存层,它将更新代表学生信息的缓存,而不是点击数据库(我的数据库已经过载),我可以使用缓存层获取有关学生注册的信息。hibernate拦截器跟踪对象并更新第三方缓存
仪表板如下所示。 学生总数:120
最近登记:
用户A [时间戳]
用户B [时间戳]
... ..
我就如下保证我的系统工作正常。
- 我需要确保用户致力于数据库。我不确定如果 onSave()方法保证提交到数据库。
- afterTransactionCompletion确实听起来像在 事务提交/回滚之后调用它,但不会给我实体 对象,我将用它来更新缓存。
问题是什么? –
问题是onSave()或afterTrasactionCompletion中的哪一个适合我的工作?还是有更好的方法。 –