Будет ли пессимистическая блокировка иметь каскадный эффект?
Вот моя структура данных.
@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);
Будет ли пессимистическая блокировка работать на всех ссылочных подстроках в древовидной структуре данных? Или просто строка с идентификатором "1L"? Или только строки, на которые прямо ссылаются из "1L"?
0 ответов
Он должен работать, но обратите внимание, что если вы используете Hibernate, к сожалению, он еще не поддерживается
Javax.persistence.lock.scope еще не поддерживается, как указано в стандарте JPA.