JPA Pessimistic Locking
1. 잠금 모드 JPA 사양은 세 가지 비관적 잠금 모드를 정의한다. PESSIMISTIC_READ를 사용하면 공유 잠금을 얻고 데이터가 업데이트되거나 삭제되는 것을 방지할 수 있다. PESSIMISTIC_WRITE를 사용하면 배타적 잠금을 얻어 데이터를 읽거나, 업데이트하거나, 삭제하는 것을 방지할 수 있다. ...
1. 잠금 모드 JPA 사양은 세 가지 비관적 잠금 모드를 정의한다. PESSIMISTIC_READ를 사용하면 공유 잠금을 얻고 데이터가 업데이트되거나 삭제되는 것을 방지할 수 있다. PESSIMISTIC_WRITE를 사용하면 배타적 잠금을 얻어 데이터를 읽거나, 업데이트하거나, 삭제하는 것을 방지할 수 있다. ...
1. 낙관적 잠금 이해 낙관적 잠금을 사용하려면 @Version 주석이 있는 속성을 포함하는 엔터티가 필요하다. 이를 사용하는 동안 데이터를 읽는 각 트랜잭션은 버전 속성의 값을 보유한다. 트랜잭션이 업데이트를 하기 전에 버전 속성을 다시 확인한다. 값이 그 사이에 변경된 경우 OptimisticLockException이 throw됩니다. 그렇지 ...
1. 커패시터 흔히 ‘콘덴서’라고도 불리는데, 영미권에서는 ‘condensor’라는 단어가 축전기를 뜻하기도 하지만 주로 응축기의 의미로 사용되는 경우가 많다. 2. 기능 전압이 높을 때에는 전하를 모으고(충전) 전압이 낮으면 전하를 방출(방전)하여 전원 전압과 동일한 크기의 전위차를 유지하려 한다. 그러므로 직류 전원에 연결하면 전하가 충전되는 짧...
1. 샘플 데이터 모델 예제에서 사용할 샘플 데이터 모델이다. 먼저 Employee 엔터티를 만든다. @Entity public class Employee { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private String ...
1. 쿼리 매개변수란 쿼리 매개변수는 매개변수화된 쿼리를 빌드하고 실행하는 방법이다. SELECT * FROM employees e WHERE e.emp_number = '123'; 이렇게 할 것이다. SELECT * FROM employees e WHERE e.emp_number = ?; JDBC 준비된 명령문을 사용하려면 쿼리를 실행하기...
1. JPA/Jakarta 사양 2022년에 출시된 버전 3.1.0 이후 JPA 사양은 개발자에게 @GeneratedValue 주석에서 사용할 수 있는 새로운 GenerationType.UUID를 제공한다. @Entity class Reservation { @Id @GeneratedValue(strategy = GenerationTy...
1. 문제점 VMware Workstation에서 Host PC인 윈도우 환경과 Ubuntu 가상 환경에서 복사-붙여넣기가 안되는 문제가 있다. 2. 해결방법 1) Vm Tools 설치 vm-tools를 설치해서 Host PC와 Ubuntu 가상 환경이 통신할 수 있는 환경을 설치한다. $ sudo apt-get update $ sudo apt-...
1. 복합 기본 키 복합 기본 키는 복합 키라고도 하며, 두 개 이상의 열을 조합하여 테이블의 기본 키를 형성하는 것이다. JPA에서는 복합 키를 정의하는데 @IdClass와 @EmbeddedId 주석이라는 두 가지 옵션이 있다. 복합 기본 키를 정의하려면 몇 가지 규칙을 따라야 한다. 복합 기본 키 클래스는 공개되어야 한다. ...
1. 간단한 식별자 식별자를 정의하는 가장 간단한 방법은 @Id 주석을 사용하는 것이다. 간단한 ID는 @Id를 사용하여 다음 유형 중 하나의 단일 속성에 매핑된다. Java 기본 및 기본 래퍼 유형, String, Date, BigDecimal 및 BigInteger. long 유형의 기본 키를 사용하여 엔터티를 정의하는 간단한 예이다. @En...
1. 프로젝트 추가 프로젝트 Open으로 새로운 프로젝트를 추가하였지만, 폴더가 보이지 않는 경우 Modules add를 통해 폴더를 추가할 수 있다. 1) Project Structure File → Project Structure 2) Module 추가 2) Module 추가 적용 3) Project ...