EJB:容器是否需要同步实体bean持久化?

时间:2012-05-01 10:33:17

标签: java synchronization ejb containers

当我在学校学习EJB时,我是当前的理解:

声明1

在CMP(容器管理的持久性)中,当不同的实体bean尝试同时访问同一行时,容器将告诉数据库同步数据库中的行。

声明2

据我所知,每个数据库都有一个后台机制,当有多个访问权限时,它会自动同步每一行。因此,当开发人员针对数据库进行编程时,他们并不关心对行的基础同步访问。

所以,我的问题是 - 如果语句2为真,为什么EJB容器需要将实体bean访问同步到数据库行?如果我的想法错了,请纠正我。

1 个答案:

答案 0 :(得分:1)

如果我正确地理解了你的问题,你就会问起锁定问题。

默认情况下,JPA提供使用@Version注释控制的乐观锁定。

您应该检查OptimisticLockException s。

其他锁定模式是可能的:

http://docs.oracle.com/javaee/6/tutorial/doc/gkjhz.html

http://docs.oracle.com/javaee/6/tutorial/doc/gkjiu.html