====== @NaturalId ====== * ''@Id'' 대신 사용할 수 있는 자연키. * **unique** 해야한다. * ''@Id'' 를 인조키로 사용할 때 대체로 사용할 수 있다. * [[java:hibernate|Hibernate]] 어노테이션이므로 JPA에서 사용할 때는 ''hiber session''을 통해 조회해야 한 PK 처럼 ''EntityManager'' life cycle 에 반영된다. -> 즉, ''@Id'' 로 조회할 때와 동일하게 ''EntityManager''에 캐시된다. ===== 참고 ===== * [[https://techblog.woowahan.com/17221/|JPA에서 아이디를 자동증가 값으로 사용 시 하이버네이트의 @NaturalId 사용해 보기 | 우아한형제들 기술블로그]] * [[https://vladmihalcea.com/the-best-way-to-map-a-naturalid-business-key-with-jpa-and-hibernate/|The best way to map a @NaturalId business key with JPA and Hibernate - Vlad Mihalcea]] * [[https://thorben-janssen.com/naturalid-good-way-persist-natural-ids-hibernate/|@NaturalId - A good way to persist natural IDs with Hibernate?]] * [[https://www.baeldung.com/spring-boot-hibernate-natural-ids|Hibernate Natural IDs in Spring Boot | Baeldung]]