>

일이 어떻게 작동하는지 올바르게 이해하고 있는지 확인하십시오.

내가 pyzwyz를하면  -이 엔티티 만 차단합니까 ( em.lock(employee, LockModeType.PESSIMISTIC_WRITE); ) ) 또는 전체 테이블 employee ?

중요하다면, Employees 에 대해 이야기하고 있습니다 .

PostgreSQL

  • 답변 # 1

    엔터티 만 차단해야합니다.

    PostgreSQL 동면 방언으로 for update 추가  쓰기 잠금의 경우 : https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQL81Dialect.java#L549 (최신 버전은 동일한 구현을 사용합니다)

    for update  PostgreSQL에 의해 행 단위로 처리됩니다. https://www.postgresql.org/docs/9.5/static/explicit-locking.html

    와이즈 비즈

    FOR UPDATE causes the rows retrieved by the SELECT statement to be locked as though for update. This prevents them from being locked, modified or deleted by other transactions until the current transaction ends. That is, other transactions that attempt UPDATE, DELETE, SELECT FOR UPDATE, SELECT FOR NO KEY UPDATE, SELECT FOR SHARE or SELECT FOR KEY SHARE of these rows will be blocked until the current transaction ends; conversely, SELECT FOR UPDATE will wait for a concurrent transaction that has run any of those commands on the same row, and will then lock and return the updated row (or no row, if the row was deleted).

  • 이전 elasticsearch - 탄력적 검색으로 한 번의 쿼리로 부모 및 모든 자식 검색
  • 다음 php - 하위 폴더보기를 위해 htaccess URL을 작성해야합니다