Skip to content

Latest commit

 

History

History
23 lines (20 loc) · 1.49 KB

04.엔티티매핑.md

File metadata and controls

23 lines (20 loc) · 1.49 KB

04. 엔티티매핑

✔️ 4.1. @Entity

  • @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다.
  • @Entity 적용시 주의사항
    • 기본 생성자는 필수
    • final 클래스, enum, interface, inner 클래스에는 사용할 수 없다.
    • 저장할 필드에 final을 사용하면 안된다.

✔️ 4.2. @Table

  • @Table은 엔티티와 매핑할 테이블을 지정한다. 생략하면 매핑한 엔티티이름을 테이블이름으로 사용한다.

✔️ 4.3. 다양한 매핑사용

  • enum 타입도 매핑가능.
  • 이름 매핑 전량 변경하기
    • 자바는 카멜케이스, 디비는 언더스코어를 주로 사용하기때문에, @column에는 언더스코어로 매핑하고, 실제 멤버변수는 카멜케이스로 적용함.
    • hibernate.ejb.naming_strategy 속성 사용하면 직접 안해도 됨. org.hibernate.cfg.ImprovedNamingStrategy 클래스를 사용. project 전체 속성에 적용.

✔️ 4.4. 데이터베이스 스키마 자동 생성

  • hibernate.hbm2ddl.auto
  • 이 속성을 추가하면 애플리케이션 실행 시점에 데이터베이스 테이블을 자동으로 생성한다.
  • 스키마 자동 생성 기능을 사용하면 앱 실행 시점에 데이터베이스테이블이 자동으로 생성되므로 개발자가 테이블을 직접 생성하는 수고를 덜 수 있다.
  • 운영모드에서는 validate 또는 none