-
JPA - 연관관계매핑(기초)
엔티티매핑의 기초 기본키 매핑 전략 영속성 컨텍스트는 엔티티를 식별자 값으로 구분하므로, 엔티티를 영속 상태로 만들려면 식별자 값이 반드시 필요하다. 아래에서 간단히 기본키 매핑 전략에 대해서 알아보자. 직접할당 : em.persist() 를 호출하기 전에 애플리케이션에서 직접 식별자 값을 할당해야한다. Board board = new Board(); board.setId("id1"); em.persist(); IDENTITY : 데이터베이스에 엔티티를 저장해서 식별자 값을 획득한 후 영속성 컨텍스트에 저장한다. @Id @GeneratedValue(strategy=GenerationType.IDENTITY) SEQUENCE : 데이터베이스 시퀀스에서 식별자 값을 획득한 후 영속성 컨텍스트에 저장한다. @Entity @SequenceGenerator( name = "BOARD_SEQ_GENERATOR", sequenceName...
-
JPA(패러다임불일치, 영속성)
패러다임 불일치 애플리케이션은 자바라는 객체지향 언어로 개발하고 데이터는 관계형 데이터베이스에 저장해야 한다면, 패러다임의 불일치 문제를 개발자가 중간에서 해결해야 한다. 객체는 상속 이라는 개념을 가지고 있지만 테이블은 상속이라는 기능이 없으며 이를 해결하기 위해서 슈퍼타입 서브타입 관계를 사용하여 객체 상속와 유사한 형태로 테이블 설계가 가능 하다. JDBC API 를 사용해서 Album, Movie 객체를 저장하는 코드를 완성하기 위해서는 각 객체를 저장하는 SQL 을 생성해야 하며 이때, Item 테이블 저장 쿼리도 개발이 필요하다. 조회의 경우, Album 을 조회하기 위해서는...