- @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다.
- @Entity 적용시 주의사항
- 기본 생성자는 필수
- final 클래스, enum, interface, inner 클래스에는 사용할 수 없다.
- 저장할 필드에 final을 사용하면 안된다.
- @Table은 엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑한 엔티티이름을 테이블이름으로 사용한다.
- enum 타입도 매핑가능.
- 이름 매핑 전량 변경하기
- 자바는 카멜케이스, 디비는 언더스코어를 주로 사용하기때문에, @column에는 언더스코어로 매핑하고, 실제 멤버변수는 카멜케이스로 적용함.
- hibernate.ejb.naming_strategy 속성 사용하면 직접 안해도 됨. org.hibernate.cfg.ImprovedNamingStrategy 클래스를 사용. project 전체 속성에 적용.
- hibernate.hbm2ddl.auto
- 이 속성을 추가하면 애플리케이션 실행 시점에 데이터베이스 테이블을 자동으로 생성한다.
- 스키마 자동 생성 기능을 사용하면 앱 실행 시점에 데이터베이스테이블이 자동으로 생성되므로 개발자가 테이블을 직접 생성하는 수고를 덜 수 있다.
- 운영모드에서는 validate 또는 none