728x90

T아카데미 3

T 아카데미 : JPA 프로그래밍 기초 (3)

JPA 내부구조 1. 영속성 컨텍스트 - 영속성 컨텍스트는 논리적인 개념이다 ~ 눈에 보이지 않는다 -> 엔티티 매니저를 통해 영속성 컨텍스트에 접근 엔티티의 생명 주기 비영속 - 영속 - 준영속 - 삭제 1) 비영속 : ex) 멤버 객체를 생성한 직후 ~ JPA와 아무 관계가 없다 2) 영속 : ex) 멤버 객체를 저장하여 영속성을 부여한 상태 3) 준영속 : ex) 회원 엔티티를 영속성 컨텍스트에서 분리한 상태 4) 삭제 : ex) 객체 삭제 왜 영속상태가 필요한걸까? ~ 객체를 저장하게 되면 바로 DB에 저장하면 효율적일 텐데? *영속성 컨텍스트 장점 1. 1차 캐시 2. 동일성 보장 3. 트랜젝션을 비원하는 쓰기 지연 4. 변경 감지(더티 체킹) 5. 지연 로딩 1차 캐시 객체에 영속성을 부여하게..

Spring🍃 2023.02.10

T 아카데미 : JPA 프로그래밍 기초 (2)

연관관계 객체를 테이블에 맞추어 모델링하는 경우( 참조 대신 외래 키를 그대로 사용 ) : 데이터 지향 방식 @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; @Column(name = "TEAM_ID") private Long teamId; … } @Entity public class Team { @Id @GeneratedValue private Long id; private String name; … } // Main //팀 저장 Team team = new Team(); team.setName("TeamA"); em..

Spring🍃 2022.12.13

T 아카데미 : JPA 프로그래밍 기초 (1)

JPA 기초 정복 포인트 1. 객체 - RDB 간 매핑(설계 과정) 2. 실제 JPA 동작 ~ 영속성 컨테스트 객체 매핑하기 필요한 어노테이션 : @Entity @Id : DB PK와 매핑할 필드 Persistence.xml JPA 설정 파일 jakartax.persistence ~ : JPA 표준 속성 (거의 사용 안함) hibernate : 하이버네이트 전용 속성 실습 : (* = 스프링 부트가 하는 일 파악하기) 데이터베이스 켜기 Maven을 사용한 프로젝트 생성 -> JDK 8, hibernate-entitymanager, h2database 사용 Main, 엔티티 패키지 - Member 클래스 생성 + @Entity/@Id ~ 기본 DB 연결세팅 완료 Getter, Setter 설정 ~ JPA ..

Spring🍃 2022.12.13
728x90