Будет ли пессимистическая блокировка иметь каскадный эффект?

Вот моя структура данных.

@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.

Из документов Hibernate

Связанный билет

Другие вопросы по тегам