📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# Entity (2)

JPA - Hibernate 2018. 7. 21. 23:28

[JPA] 엔티티 식별자 DB에서 할당받기. @GeneratedValue와 GenerationType.IDENTITY 전략.

이전글[JPA] 엔티티 식별자 직접 할당하여 저장하기엔티티 식별자JPA는 엔티티를 관리하는 영속성 컨텍스트라는 공간이 있고 persist()를 통해 이곳에 저장된 엔티티 객체들은 JPA의 관리 대상이 됩니다. JPA의 관리 대상이 되었다는 것은 엔티티의 상태가 변경되면 DB에 해당 엔티티에 대한 데이터가 JPA가 생성한 쿼리에 의해 UPDATE 되어진다는 뜻이며, EntityManager를 통해 삭제, 삽입, SELECT 되어진다는 뜻입니다.그런데 JPA는 영속성 컨텍스트에서 관리되는 엔티티 객체들을 구분할 필요가 있는데, 이때 필요한 것이 식별자입니다. 식별자로 지정되는 속성은 @Id 애노테이션이 맵핑되어 있어야 합니다. 또한 속성에 맵핑되는 DB 테이블의 컬럼은 UNIQUE한 컬럼이어야 합니다. 즉 ..

JPA - Hibernate 2018. 7. 20. 22:47

[JPA] 엔티티 식별자 직접 할당하여 저장하기

엔티티 식별자JPA는 엔티티를 관리하는 영속성 컨텍스트라는 공간이 있고 persist()를 통해 이곳에 저장된 엔티티 객체들은 JPA의 관리 대상이 됩니다. JPA의 관리 대상이 되었다는것은 엔티티의 상태가 변경되면 DB에 해당 엔티티에 대한 데이터가 JPA가 생성한 쿼리에 의해 UPDATE 되어진다는 뜻이며, EntityManager를 통해 삭제, 삽입, SELECT 되어진다는 뜻입니다.그런데 JPA는 영속성 컨텍스트에서 관리되는 엔티티 객체들을 구분할 필요가 있는데, 이때 필요한 것이 식별자입니다. 식별자로 지정되는 속성은 @Id 애노테이션이 맵핑되어 있어야 합니다. 또한 속성에 맵핑되는 DB 테이블의 컬럼은 UNIQUE한 컬럼이어야 합니다. 즉 데이터가 중복되거나 NULL이 허용되는 컬럼이어서는 안..