Programming/JPA & Spring Data JPA 기초26 05. 엔티티 식별자 생성 방식 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 식별자 생성 방식 직접 할당 방식 식별 칼럼 방식 시퀀스 사용 방식 테이블 사용 방식 * 직적 생성 방식 - @Id 설정 대상에 직접 값 설정 이메일, 주문 번호 등 사용자가 입력한 값이나 규칙에 따라 식별자를 생성할 때 해당 방식을 사용한다. 저장하기 전에, 보통은 생성 시점에 생성자를 통해 전달한다. Hotel 클래스에서 확인할 수 있다. Hotel 객체를 생성하는 시점에 생성자를 통해 Hotel의 id를 전달하고 persist를 진행한다. * 식별 칼럼 방식 - DB 식별 칼럼에 매핑 MySQL의 자동 증가 칼럼과 같은 DB가 식별자를 자동으로 생성하는 칼럼에 매핑할 때 사용한다. DB가 식.. 2023. 2. 23. 04. 엔티티 매핑 설정 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 엔티티 매핑 - 기본 애노테이션 @Entity : 엔티티 클래스에 설정한다, 필수로 사용해야한다. @Table : 매핑할 테이블을 지정한다. @Id : 식별자와 매핑하기 위해 사용한다. 필수로 사용해야한다. @Column : 매핑할 칼럼명을 지정하기 위해 사용한다. 지정하지 않으면 필드명 / 프로퍼티명을 사용한다 @Enumerated : enum타입을 매핑할 때 사용한다. @Temporal : java.util.Date, java.util.Calender를 매핑할 때 사용한다. 자바8 시간 / 날짜 타입 등장 이후 거의 쓰지 않는다. @Basic : 기본 지원 타입을 매핑하기 위해 사용한다. 생략.. 2023. 2. 22. 03. 엔티티 단위 CRUD 처리 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 시작전에 보조 클래스 만들기 EntityManagerFactory를 static으로 담고있는 EMF 클래스를 생성한다. EMF 내에 init()메소드를 통해 초기화, close()를 통해 emf를 닫는다. EntityManager가 필요할 때는 createEntityManager() 메소드를 통해 생성한다. * 엔티티 단위 CRUD 처리 - EntityManager가 제공하는 메소드 이용 persist() find() remove() merge() * 저장 - EntityManager#persist(Object entity) persist()는 @Entity로 매핑한 객체를 인자로 받는다 NewU.. 2023. 2. 21. 02. 코드 구조 & 영속 컨텍스트 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * 영속 단위 기준으로 초기화 public class UserSaveMain { public static void main(String[] args) { /* * EntityManagerFactory는 영속 단위 기준으로 생성한다. * persistence.xml의 persistence-unit name = "jpabegin" 에서 확인할 수 있듯 jpabegin을 식별자로 사용한다. * 식별자가 영속 단위를 구분하는 이름으로 사용된다. * 해당 이름으로 EnitityManagerFactory를 생성한다. * EnitityManagerFactory는 커넥션풀 등 DB연동에 있어 필요한 자원을 생성하는.. 2023. 2. 20. 01. 일단 해보기 해당 강의는 코드 위주로 진행됩니다. 실질적인 객체 처리를 담당하는 코드는 링크에서 확인하시길 바랍니다. * JPA JPA는 ORM(Object-Relational Mapping) 스펙의 하나로 자바 객체와 RDB간의 매핑 처리를 위한 API이다. 2.2.ver까지는 Java Persistence API로 불렸으나, 3.0.ver 이후로 Jakarta Persistence API로 이름이 바뀌었다. 2.2 버전부터 JPA 스펙을 관리하는 주체가 JCP에서 이클립스로 넘어갔다. JPA 3.0은 Jakarta EE 9.ver에 포함되어있다. JPA만 단독으로 사용하기 보다는 스프링과 연동하여 사용한다. 스프링 6.ver부터 Jakarta EE 9+를 지원한다. * JPA 특징 애노테이션을 이용한 매핑 설정이.. 2023. 2. 20. 이전 1 2 3 4 5 6 다음 반응형