Member Entity @Data @Entity public class Member { @Id @Column(name = "MEMBER_ID") @GeneratedValue // strategy 생략 시 AUTO 전략 사용 private Long id; private String name; private String city; private String street; private String zipcode; } Order Entity @Data @Entity @Table(name="ORDERS") public class Order { @Id @GeneratedValue @Column(name = "ORDER_ID") private Long id; @Column(name = "MEMBER_ID") pr..
기본키 매핑 방법 직접 할당 : @Id 만 사용 자동생성 : @GeneratedValue 사용 IDENTITY : 데이터 베이스에 위임. MySQL SEQUENCE : 데이터베이스 시퀀스 오브젝트 사용, ORACLE, @SequenceGenerator 필요 TABLE : 키 생성용 테이블, 모든 DB에서 사용, @TableGenerator 필요 AUTO : 방언에 따라 자동 지정 IDENTITY 전략의 특징 기본키 생성을 데이터베이스에 위임 주로 MySQL, PostgreSQL, SQL Server, DB2 에서 사용 JPA는 보통 트랜잭션 커밋 시점에 INSERT SQL 실행 AUTO_INCREMENT 는 데이터베이스에 insert sql을 실행한 이후 ID 값을 알 수 있음 IDENTITY 전략은 e..
엔티티 매핑 소개 - 객체와 테이블 매핑 : @Entity, @Table - 필드와 컬럼 매핑 : @Column - 기본 키 매핑 : @Id - 연관관계 매핑 : @ManyToOne, @JoinColumn @Entity - @Entity 가 붙은 클래스는 JPA가 관리하는 클래스이자 엔티티이자 - 기본 생성자 필수 - final, enum, interface, inner 클래스는 엔티티 클래스로 사용할 수 없음 - 저장할 필드에 final을 사용할 수 없음 - name 속성 : JPA에 사용할 엔티티 이름을 지정 @Table - @Table은 엔티티와 매핑할 테이블을 지정할 수 있다 데이터베이스 스키마 자동 생성 - DDL 을 애플리케이션 실행 시점에 자동 생성 - 테이블 중심 -> 객체 중심 - 데이터..
1차캐시 Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); // 1차 캐시에 저장됨 em.persist(member); // 1차 캐시에서 조회 Member findMember = em.find(Member.class, "member1"); - find 를 사용하여 데이터 조회 시 데이터베이스를 먼저 찾는것이 아닌 1차 캐시를 먼저 조회해서 데이터를 찾음 Member findMember2 = em.find(Member.class, "member2"); 영속 엔티티의 동일성 보장 - 1차 캐시로 반복 가능한 읽기 등급의 트랜잭션 격리 수준을 데이터베이스가 아닌 애플리케이션 차원에서 제공 엔티티 등록 - 트랜잭션..
영속성 컨텍스트 정의 - JPA를 이해하는데 가장 중요한 용어 - 엔티티를 영구 저장하는 환경 - EntityManager.persist(entity) - 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 엔티티의 생명주기 - 비영속 (new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 - 영속 (managed) : 영속성 컨텍스트에 관리되는 상태 - 준영속 (detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태 - 삭제 (removed) : 삭제된 상태 비영속 상태 - JPA 와 전혀 관계가 없는 상태 Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); 영속상태 // 비영속 ..
- Total
- Today
- Yesterday
- spring
- 프로그래머스
- ci/cd
- JPA
- Java
- level0
- N+1
- 트랜잭션격리성
- TCP
- SpringGraphQL
- 람다식
- CodeDeploy
- 기술면접
- 파일업로드설정
- 네이버클라우드
- OS
- 운영체제
- ORA-27125
- db
- 트랜잭션
- EC2
- graphql
- AWS
- Travis CI
- ddl-auto
- Til
- Oracle
- SpringSecurity
- nginx
- 인덱스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |