스프링Spring - 하이버네이트Hibernate 연동 개발시에 설정 주의점

less than 1 minute read

1. 테스트용으로 sql파일을 import하는 경우

hibernate.hbm2ddl.import_file = “META-INF/sql/user.sql,META-INF/sql/auth.sql” 이렇게 파일명을 정확히 적어줘야 한다.

“classpath:/META-INF/sql/user.sql”처럼 classpath라고 적으면 오류가 발생한다. *.sql처럼 regex도 인식하지 못한다.

 

2. Annotation을 이용한 Sequence 생성시

@Id @GeneratedValue(strategy = GenerationType.AUTO, generator = “user_id_seq”) @SequenceGenerator(name=”user_id_seq”, sequenceName = “user_id_seq”) @Column(name = “UserId”) private Long id;

GenerationType.AUTO로 해야 mysql에서  auto_increament가 적용된다. Generation.SEQUENCE라고 하면 SEQUENCE기능이 없는 mysql에서는 오류가 발생한다.

DB에 시퀀스가 생성이 되도 postgresql에서 insert쿼리를 사용시 자동으로 시퀀스가 default로 insert되지 않는다.

insert시에 nextval(‘user_id_seq’)를 명시해줘야하는 불편함이 있다. 오라클은 테스트를 안해봤지만 마찬가지일거라 생각되니 고민하지말고 바로 노가다를 시작…