흰 스타렉스에서 내가 내리지

[JPA]@GeneratedValue(strategy = GenerationType.**) 본문

Spring

[JPA]@GeneratedValue(strategy = GenerationType.**)

주씨. 2023. 2. 10. 14:51
728x90

AUTO 전략

데이터베이스의 종류도 많고 기본 키를 만드는 방법도 다양하다.

GenerationType.AUTO는 선택한 데이터베이스 방언에 따라 IDENTITY, SEQUENCE, TABLE 전략 중 하나를 자동으로 선택한다.

예를 들어 오라클을 선택하면 SEQUENCE를, MySQL을 선택하면 IDENTITY를 사용한다. 

 

@GeneratedValue.strategy의 디폴트값은 AUTO이다. 따라서 다름과 같이 사용해도 결과는 같다.

@Id @GeneratedValue
@Column(name = "ID")
private String id;

AUTO 전략의 장점은 데이터베이스를 변경해도 코드를 수정할 필요가 없다는 것이다.

특히 키 생성 전략이 아직 확정되지 않은 개발 초기 단계나 프로토타입 개발 시 편리하게 사용할 수 있다.