同步两个实体经理jpa

时间:2013-06-06 16:36:40

标签: java jpa

我在使用JPA的Web应用程序中遇到一种情况,其中有两个用户“普通用户”和“管理员”。 admin用户有权读取用户的信息,用户有权更新其信息。两者都有实体经理。在JPA中是否可以同步这些管理器的持久性上下文,以便管理员只从缓存中检索更新的值?请帮忙。

2 个答案:

答案 0 :(得分:0)

你可以使用JPA lifecycle callbacks(链接是Hibernate,但任何JPA提供者都应该这样做)。 @PostPersist@PostUpdate注释允许您在实体更新后执行某些活动(例如,通知其他线程)。然后,您可以在这些线程上创建新的实体管理器,查找受影响的实体,并更新您的显示。

答案 1 :(得分:0)

您应该设置二级缓存。 l2缓存在概念上存储在EntityManagerFactory中,因此所有EntityManage都可以访问。

请参阅http://docs.oracle.com/javaee/6/tutorial/doc/gkjio.html