JPA (38) 썸네일형 리스트형 [JPA] 다양한 연관관계 목차연관관계 매핑시 고려사항 3가지다대일 [N:1]일대다 [1:N]일대일 [1:1]다대다 [N:M] 연관관계 매핑시 고려사항 3가지다중성단방향, 양방향연관관계의 주인 다중성다대일: @ManyToOne일대다: @OneToMany일대일: @OneToOne다대다: @ManyToMany(실무에서는 X) 단방향, 양방향 테이블외래 키 하나로 양쪽 조인 가능사실 방향이라는 개념이 없음객체참조용 필드가 있는 쪽으로만 참조 가능한쪽만 참조하면 단방향양쪽이 서로 참조하면 양방향(단방향 2개) 연관관계의 주인테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데객체 양방향 관계는 참조가 2군데 있음. 둘중 테이블의 외래 키를 관리할 곳을 지정해야함연관관계의 주인: .. [JPA] 연관관계 매핑 목차연관관계가 필요한 이유단방향 연관관계객체와 테이블이 관계를 맺는 차이연관관계의 주인(Owner)양방향 매핑시 가장 많이 하는 실수 연관관계가 필요한 이유예제 시나리오회원과 팀이 있다. 회원은 하나의 팀에만 소속될 수 있다. 회원과 팀은 다대일 관계다. 객체를 테이블에 맞추어 모델링 예시 1. 연관관계가 없는 객체 2. 참조 대신에 외래 키를 그대로 사용@Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; @Column(name = "TEAM_ID") private Long teamId; … .. [JPA] 엔티티 매핑 목차객체와 테이블 매핑데이터베이스 스키마 자동 생성필드와 컬럼 매핑기본 키 매핑 엔티티 매핑 소개객체와 테이블 매핑: @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne,@JoinColumn 객체와 테이블 매핑@Entity@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수주의점기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) final 클래스, enum, interface, inner 클래스 사용X 저장할 필드에 final 사용 X @Entity 속성 정리속성: name JPA에서 사용할 엔티티 이름을 지정한다. 기본값: 클래스 이름을.. [JPA] 영속성 컨텍스트 목차영속성 컨텍스트엔티티의 생명주기비영속 상태영속성 컨텍스트의 이점플러시준영속 상태 JPA에서 가장 중요한 2가지객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping) 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 영속성 컨텍스트“엔티티를 영구 저장하는 환경”이라는 뜻 EntityManager.persist(entity); 엔티티 매니저? 영속성 컨텍스트?영속성 컨텍스트는 논리적인 개념 눈에 보이지 않는다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 J2SE 환경엔티티 매니저와 영속성 컨텍스트가 1:1 J2EE, 스프링 프레임워크 같은 컨테이너 환경 엔티티 매니저와 영속성 컨텍스트가 N:1 엔티티의 생명주기 비영속 (new/transient)영속.. [JPA] JPA 동작 확인 목차JPA 구동 방식JPA 동작 확인(CRUD)JPA 주의점JPQL 소개 JPA 구동 방식Persistence 클래스에서 시작persistence.xml 에서 설정 정보를 읽고 EntityManagerFactory 생성필요할 때마다 EntityManager 찍어서 돌리면 됨. JPA 동작 확인JpaMain 클래스 생성JPA 동작 확인 JpaMain public class JpaMain { public static void main(String[] args) { // persistence.xml의 Unit Name 넘기기 // EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");.. [JPA] JPA란 뭘까? 목차JPA 소개JPA를 왜 사용해야 할까?JPA의 성능 최적화 기능 JPA 소개 Java Persistence API자바 진영의 ORM 기술 표준 ORM 이란?Object-relational mapping(객체 관계 매핑)객체는 객체대로 설계관계형 데이터베이스는 관계형 데이터베이스대로 설계ORM 프레임워크가 중간에서 매핑대중적인 언어에는 대부분 ORM 기술이 존재 JPA는 애플리케이션과 JDBC 사이에서 동작 JPA 동작 - 저장 JPA 동작 - 조회 JPA 발전 과정EJB - 엔티티 빈(자바 표준)하이버네이트(오픈 소스)JPA(자바 표준) JPA는 표준 명세JPA는 인터페이스의 모음JPA 2.1 표준 명세를 구현한 3가지 구현체하이버네이트, EclipseLink, DataNucleus .. [JPA] 도메인 분석 설계 보호되어 있는 글입니다. [JPA] 프로젝트 환경 설정 목차프로젝트 생성라이브러리 살펴보기View 환경 설정H2 데이터베이스 설치JPA와 DB 설정, 동작확인쿼리 파라미터 로그 남기기 프로젝트 생성 build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.0' id 'io.spring.dependency-management' version '1.1.5'}group = 'jpabook'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion = JavaLanguageVersion.of(17) }}configurations { compileOnly { extendsFrom anno.. 이전 1 2 3 4 다음