내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
java:jpa:lock
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== JPA Lock ====== ===== Optimistic Lock 낙관적 잠금 ===== * [[http://www.baeldung.com/jpa-optimistic-locking|Optimistic Locking in JPA | Baeldung]] * 기본적으로 ''OptimisticLockException'' 을 던져야 하지만, EJB와 Spring은 이 예외를 감싼 다른 예외를 던진다. * EJB : ''EJBException'' * Spring : ''OptimisticLockingFailureException'' * 낙관적 잠금 대상 컬럼은 무조건 값이 증가 혹은 현재 시간으로 업데이트 된다. ===== Hibernate와 낙관적 잠금 ===== * HQL Update 문에서 버전 필드를 강제 업데이트 하고 싶으면 ''VERSIONED'' 를 사용한다(JPA 표준 아님, ''UserVersionType''과 함께 사용 불가).<code sql> UPDATE VERSIONED Customer c set c.name = :newName where c.name = :oldName </code> * [[https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/usertype/UserVersionType.javaorg.hibernate.usertype.UserVersionType|UserVersionType]] 으로 사용자 정의 Version 타입 만들기 가능. ===== 참조 ===== * [[https://www.baeldung.com/jpa-pessimistic-locking|Pessimistic Locking in JPA | Baeldung]] * [[https://www.baeldung.com/java-jpa-transaction-locks|Enabling Transaction Locks in Spring Data JPA | Baeldung]] * [[https://reiphiel.tistory.com/entry/understanding-jpa-lock|JPA 잠금(Lock) 이해하기 :: 레이피엘의 블로그]]
java/jpa/lock.txt
· 마지막으로 수정됨: 2022/05/10 10:15 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로