这是我的数据结构。
@Entity
public class JobEntity {
@Id
private Long id;
private String name;
@OneToMany(fetch = FetchType.EAGER,cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, mappedBy = "parentJob")
private List<JobEntity> subJobs;
@ManyToOne
@JoinColumn(name = "parent_job")
private JobEntity parentJob;
}因此,作业实体有一个树形数据结构,如果我想添加如下所示的悲观锁,使用JPA:
Map<String, Object> properties = new HashMap<>();
map.put("javax.persistence.lock.scope", PessimisticLockScope.EXTENDED);
entityManager.find(JobEntity.class, 1L,LockModeType.PESSIMISTIC_WRITE, properties);悲观锁是否适用于树数据结构中所有引用的子行?或者只使用id为"1L“的行?或者仅仅是直接从"1L“引用的行?
发布于 2019-09-19 14:55:48
它应该可以工作,但请注意,如果您使用的是Hibernate,不幸的是它还不受支持
JPA标准还不支持javax.persistence.lock.scope。
https://stackoverflow.com/questions/54838874
复制相似问题