Study Platform📚/김영한👨🏻🏫의 스프링 부트와 JPA 실무 완전 정복 로드맵
05. 연관관계 매핑 기초
05. 연관관계 매핑 기초
2025.02.011. 객체와 테이블 연관관계의 차이를 이해2. 객체의 참조와 테이블의 외래 키를 매핑3. 용어 이해- 방향(Direction): 단방향, 양방향- 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해- ⭐️연관관계의 주인(Owner)⭐️ : 객체 양방향 연관관계는 관리 주인 이 필요 예제 시나리오회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계다1. 객체를 테이블에 맞추어 모델링(연관관계가 없는 객체) 1. Member 객체 @Id @GeneratedValue @Column(name="MEMBER_ID") private Long id; @Column(name="TEAM_ID") private ..
04. 엔티티 매핑 - 객체와 관계형 데이터베이스 매핑(설계)하기(Object Relational Mapping)
04. 엔티티 매핑 - 객체와 관계형 데이터베이스 매핑(설계)하기(Object Relational Mapping)
2024.11.20엔티티 매핑객체와 테이블 매핑: @Entity, @Table 필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne,@JoinColumn객체와 테이블 매핑1. @Entity : JPA 관리, JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수- 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) - final 클래스, enum,interface,inner 클래스 사용 X- 저장할 필드에 final 사용 X -> final 사용시 값 변경 불가능하므로 2. @Table : 엔티티와 매핑할 테이블 사용//데이터베이스 MBR이랑 매핑@Table(name ="MBR")데이터베이스 스키마 자동생성 1. DDL 자동 생성 : 애플리케이션 실행 ..
영속성 관리 - 내부동작 방식
영속성 관리 - 내부동작 방식
2024.11.04JPA에서 가장 중요한 2가지1. 객체와 관계형 데이터베이스 매핑(설계)하기(Object Relational Mapping)2. 영속성 컨텍스트(실제 JPA가 어떻게 동작하는지) 영속성 컨텍스트 ⭐️엔티티를 영구 저장 환경EntityManager.persists(entity) EntityManager 는 영속성 컨텍스트를 관리하는 주체로, persist() 메서드를 통해 엔티티를 영속성 컨텍스트에 넣기. 이를 통해 객체는 영속 상태가 되며, 이후 트랜잭션이 커밋되면 해당 객체가 데이터베이스에 영구히 저장논리적임 개념눈에 보이는 물리적인 데이터 저장소가 아닌, 객체를 관리하는 논리적인 개념. 엔티티의 생명주기비영속 : 영속성 컨테스트와 전혀 관계가 없는 새로운 상태new member 객체를 생성하였..
Hello JPA - 애플리케이션 개발
Hello JPA - 애플리케이션 개발
2024.10.24주의할점 1. h2와 persistence.xml 의 url 값을 동일, 사용자(user) 값 동일, 비밀번호(password) 값 동일 데이터베이스 방언⭐️특정 데이터베이스에 종속 X ( ex. MySQL쓰다가 Oracle로 변경해도 변경되어야함)각각의 데이터 베이스가 제공하는 SQL 문법과 함수가 다름가변 문자: MySQL- VARCHAR, Oracle- VARCHAR2 문자열을 자르는 함수: SQL - SUBSTRING(), Oracle - SUBSTR()페이징 : MySQL - LIMIT, Oracle - RWONUM방언 : SQL표준을 지키지 않는 특정 데이터베이스만의 고유한 기능H2를 사용할 때 방언이 중요한 이유는, 만약 H2를 테스트 용도로 사용하고 실제 운영에서는 다른 DBMS(MySQL..
자바 ORM 표준 JPA 프로그래밍 - JPA 시작하기(맞는 버전 찾기)
자바 ORM 표준 JPA 프로그래밍 - JPA 시작하기(맞는 버전 찾기)
2024.10.23JPA를 시작하기 위해서 지금 버전이 다르게 설정하고 싶기에 설정이 달라져서 그런걸 끄적끄적 해볼까 한다. 1. 인텔리제이 시작하기 (나같은 경우에는 자바 17버전으로 설정) 2. pom.xml에서 dependencies 추가 해야하는 부분이 스프링부트 3으로 시작하고 싶어서 이 부분이 조금 다르다. > 이부분에서 버전 맞는 부분을 찾는 방법 https://spring.io 링크 접속 -> project Spring Boot 클릭 Spring Boot의 Learn을 눌러서 내가 다운 받고 싶은 Spring Boot 버전 찾기(나같은 경우에는 3.0.13버전을 쓰고 싶었기에 Reference Doc 클릭하기)가장 마지막에 있는 Dependency Versions 선택하기 내가 다운 받고 싶은 이름 검색하..