자바 ORM 표준 JPA 프로그래밍 - 기본편 김영한님 강의듣고 정리하기 1. 값 타입 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경시 추적 불가 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 값 타입 분류 기본값 타입 (int, double, Integer, Long 등) 임베디드 타입 컬렉션 값 타입 임베디드 타입 새로운 값 타입을 직접 정의할 수 있다. 주로 기본 값 타입을 모아서 만들어서 복합 값 타입이라고도 한다. @..
자바 ORM 표준 JPA 프로그래밍 - 기본편 김영한님 강의듣고 정리하기 1. 다양한 연관관계 매핑 연관관계 매핑시 고려사항 3가지 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany 단방향, 양방향 테이블 : 외래키 하나로 양쪽 조인 가능, 사실 방향이라는 개념이 없음 객체 : 한쪽만 참조하면 단방향, 양쪽이 서로 참조하면 양방향 연관관계의 주인 연관관계의 주인 : 외래키를 관리하는 참조 주인의 반대편 : 외래키에 영향을 주지않음, 단순조회만 가능 다대일 [N:1] 다대일 단방향 - 가장 많이 사용하는 연관관계 다대일 양방향 - 외래키가 있는 쪽이 연관관계의 주인, 양쪽을 서로 참조하도록 개발 일대다 [1:N] 일대다 단방향 ..
자바 ORM 표준 JPA 프로그래밍 - 기본편 김영한님 강의듣고 정리하기 1. JPA 시작하기 스프링과 스프링 데이터 JPA를 쓰지않고 JPA 사용해보기 public class JpaMain { public static void main(String[] args) { // 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체의 공유 EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); // 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야한다.) EntityManager em = emf.createEntityManager(); // JPA의 모든 데이터 변경은 트랜잭션 안에서 실행한다. EntityTransaction..