분류 전체보기82 연관관계 매핑 객체 연관관계 (2개)회원 -> 팀 연관관계 1개(단방향)팀 -> 회원 연관관계 1개(단방향)객체의 양방향 관계는 서로 다른 단방향 관계 2개객체는 참조를 사용해서 연관된 객체를 찾음객체를 양방향으로 참조하려면 단방향 연관관계 2개를 만들어야 함테이블 연관관계 (1개)회원 팀 연관관계 1개(양방향)테이블 양방향 연관관계는 외래키 하나로 두 테이블의 연관관계를 관리테이블은 외래키로 조인을 사용해서 연관된 테이블을 찾음단방향@ManyToOne : 해당 클래스가 N, 연관된 클래스가 1양방향@OneToMany(mappedBy = "연결된 엔티티의 연결된 변수명")mappedBy : 나는 매핑이 되었다는 뜻으로 주인인이 아님을 명시연관관계 주인객체 양방향 연관관계는 관리 주인이 필요객체의 두 관계 중 하나를 .. 2023. 12. 19. 엔티티 매핑 @Entity엔티티 : DB 테이블에 대응하는 하나의 클래스해당 어노테이션이 붙은 클래스는 JPA가 관리하는 엔티티주의 사항기본 생성자 필수(public, protected)final 클래스, enum, interface, inner 클래스에 사용 불가저장할 필드에 final 사용 불가@Table엔티티와 매핑할 테이블 지정@Table(name = "테이블 명") : 기본은 클래스 명과 동일@Column클래스 내의 필드와 테이블 컬럼 매핑@Column(name = "테이블에서 매핑될 컬럼 명")속성name : 필드와 매핑할 테이블의 컬럼 이름insertable, updatable : 등록, 변경 가능 여부 (default : true)nullable : null 값 허용 여부 (default : false.. 2023. 8. 25. 영속성 관리 영속성 컨텍스트엔티티를 영구 저장하는 환경EntityManger.persist(entity);논리적인 개념으로 눈에 보이지 않음엔티티 매니저를 통해서 영속성 컨텍스트에 접근내부에 1차 캐시, 쓰기 지연 SQL 존재 엔티티 생명주기비영속 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태영속 영속성 컨텍스트에 관리되는 상태로 영속성 컨텍스트 안에 객체가 들어간다고 생각 em.persist 이후 바로 데이터베이스 쿼리가 나가는 것이 아닌, commit 순간에 영속성 컨텍스트 안의 객체가 데이터베이스로 날아감준영속 영속성 컨텍스트에서 분리된 상태(detached) 영속성 컨텍스트가 제공하는 기능을 사용 못함(commit 등) em.detach(entity) : 해당 entity를 준영속 상태로 만듬 .. 2023. 8. 22. JPA(Java Persistence API)란 JPAJAVA 진영의 ORM 기술 표준으로 사용되는 인터페이스 모음으로 구현된 클래스와의 매핑을 위해 사용되는 프레임워크ORM(Object Relational Mapping)객체와 데이터베이스를 매핑해 주는 기술객체는 객체대로, 관계형 DB는 관계형 DB대로 설계ORM 프레임워크가 중간에서 매핑 역할 Hibernate대표적인 JPA를 구현한 구현체EntityManagerFactory, EntityManager, EntityTransaction 등을 상속받아 구현 JPA 사용 이유SQL 중심적인 개발에서 객체 중심적인 개발이 가능. 즉, 반복적인 CRUD 작업이 필요가 없음생산성em.persist(member) // 저장Member member = em.find(memberId) // 조회member.se.. 2023. 8. 17. 이전 1 ··· 11 12 13 14 다음