如果我在项目中使用JPA for ORM,那么乐观或悲观锁定是使用JPA实现的功能还是数据库的功能?换句话说,如果我使用Hibernate作为JPA实现,我可以说是否使用乐观与悲观锁定,还是将其纳入实现,或由数据库确定,两者的某种组合?
答案 0 :(得分:1)
这是你的决定。 JPA(和Hibernate)可以both。
悲观来自EntityManager.lock:
em.lock(employee, LockModeType.PESSIMISTIC_WRITE);
通过@Version
乐观。
选择哪一个取决于应用程序和业务案例,而不是JPA,JPA实现和数据库。