@Version1 Optimistic Lock과 Pessimistic Lock 낙관적 락 (Optimistic Lock) 트랜잭션 대부분은 충돌이 발생하지 않을 것이라고 낙관적으로 접근하는 방식 어플리케이션 레벨에서 Lock 을 건다. 데이터를 읽는 시점에 Lock을 걸지 않고, 수정을 하려고 할때 데이터가 변경되었는지 확인하고 데이터를 변경을 시도한다. @Version JPA의 @Version 어노테이션을 제공하고 있다. 엔티티가 수정될때 마다 자동으로 버전을 증가 시키며, 커밋을 하기 전에 엔티티의 버전과 DB의 버전이 같은지 확인을 한다. 버전이 다르면 OptimisticLockException 을 발생 시킨다. 지원하는 타입은 long, Long int, Integer, short, Short, timestamp @Version private Integer version; .. 2020. 4. 15. 이전 1 다음