我在使用JPA的Web应用程序中遇到一种情况,其中有两个用户“普通用户”和“管理员”。 admin用户有权读取用户的信息,用户有权更新其信息。两者都有实体经理。在JPA中是否可以同步这些管理器的持久性上下文,以便管理员只从缓存中检索更新的值?请帮忙。
答案 0 :(得分:0)
你可以使用JPA lifecycle callbacks(链接是Hibernate,但任何JPA提供者都应该这样做)。 @PostPersist
和@PostUpdate
注释允许您在实体更新后执行某些活动(例如,通知其他线程)。然后,您可以在这些线程上创建新的实体管理器,查找受影响的实体,并更新您的显示。
答案 1 :(得分:0)
您应该设置二级缓存。 l2缓存在概念上存储在EntityManagerFactory中,因此所有EntityManage都可以访问。