728x90
반응형

JPA 5

연관관계 매핑(양방향)

✅ 양방향 매핑이란? 객체의 연관관계 중 하나인 양방향 매핑은, 사실상 단방향 매핑이 두번 이루어진 것이다. 즉, 개념적으로 두 개의 단방향 매핑을 추상적으로 양방향 매핑이라 칭하는 것이다. ✅ 양방향 연관관계 매핑의 필요성 테이블과 객체를 비교해보자. 테이블에서는 외래 키 하나로 두 테이블의 연관관계를 확인할 수 있다. 외래 키를 가지고 조인하면 두 테이블간 데이터의 결합과 접근성이 자유롭다. 즉, 외래 키 하나만으로 한 컬럼의 연관된 데이터를 획득할 수 있다. 하지만 객체에서는? 객체를 탐방하려면 참조가 쌍방으로 존재해야 한다. 참조가 양방향으로 존재해야 참조와 역참조가 가능한 구조라는 것이다. 이런 패러다임의 차이를 극복하기 위해 양방향 매핑을 한다. 하지만, 엔티티 연관관계를 설정할 때 우선 단방..

Dev/Spring 2023.11.21

연관관계 매핑(단방향)

✅ 연관관계 매핑의 필요성 모델링의 두 방식의 차이점을 비교하며 연관관계의 필요성을 알아보자. ✅ 테이블 중심 모델링 ![Untitled] 테이블 연관관계에 맞추어 객체를 모델링 해보자 🌱 엔티티 매핑 참조 대신에 외래키를 그대로 사용하여 다음과 같이 Member 와 Team 을 작성할 수 있다. @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private Long teamId; ... } @Entity public class Team { @Id @GeneratedValue private Long id; private String name; ... } 🌱 엔티티 다루기 위와 같이 작성..

Dev/Spring 2023.11.21

변경 감지(Dirty Checking)

✅ 영속성 컨텍스트란 ‘엔티티를 영구히 저장하는 환경’이라는 뜻 EntityManager.persist(entity); 하지만 이는 논리적인 개념이다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근할 수 있다. 아래의 예를 통해 영속성 컨텍스트 내에서 변경 감지(Dirty Checking)를 하는 법을 알아보자. ✅ 엔티티 수정 EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); // 단일 EntityManger를 생성한다. EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); // 트랜잭션 시작한다. (영속성 컨텍..

Dev/Spring 2023.11.20

영속성 컨텍스트란

Overview JPA의 '영속성 컨텍스트'라는 논리적인 개념에 대해 다룬다. JPA의 2요소 JPA에서 가장 중요한 2가지라 하면, 객체와 RDBMS를 매핑하는 연관관계 영속성 컨텍스트 이 두가지가 있다. 웹 어플리케이션에서 사용자는 EntityManager를 할당받고, Database에 접근하기 위해 EntityManager로 엔티티를 영속성 컨텍스트에 집어 넣는다. 즉, 영속성 컨텍스트는 엔티티를 영구 저장하는 환경이라는 뜻이다. 일반적으로 EntityManager.persist(entity);구문을 통해 엔티티는 영속성 컨텍스트에 들어간다. 엔티티의 생명주기 비영속 영속성 컨텍스트와 연관이 없는 상태. 그저 생성만 된 객체를 의미한다. 영속 영속성 컨텍스트가 관리하는 객체 준영속 영..

Dev/Spring 2023.11.20

[SpringBoot] Github Merge

https://oxdjww.tistory.com/entry/SSUPOWER-%ED%95%99%EA%B5%90-%EB%82%B4%EB%B6%80-%EA%B8%B8%EC%B0%BE%EA%B8%B0-%EB%B0%8F-%EA%B3%B5%EA%B0%95-%EC%8A%A4%ED%84%B0%EB%94%94%EB%A3%B8-%EC%98%88%EC%95%BD-%EB%A7%A4%EC%B9%AD-%EC%84%9C%EB%B9%84%EC%8A%A4-Login-Jo [SpringBoot] Login, Join with MariaDB 기술스택 > Front > React > Back > SpringBoot > MariaDB > Server > Cloudtype 학부 과정 중 소프트웨어프로젝트 과목에서 개발한 '학교 내부 길찾기 및..

728x90
반응형