Spring/Spring JPA
-
[Spring JPA] 엔티티 매핑Spring/Spring JPA 2021. 6. 18. 17:24
객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다 속성 : name JPA에서 사용할 엔티티 이름을 지정한다 같은 클래스 이름이 없으면 가급적 기본값을 사용한다 @Table @Table은 엔티티와 매핑할 테이블을 지정한다 속성 : name 매핑할 테이블의 이름을 지정한다 속성 : catalog 데이터베이스 catalog 매핑 속성 : schema 데이터베이스 schema 매핑 속성 : uniqueConstraints DDL 생성 시 유니크 제약 조건 생성 필드와 컬럼 매핑 @Column 필드와 매핑할 테이블의 컬럼을 매핑한다 기본값으로 필드의 이름을 사용한다 @Enumerated 자바의 enum 타입을 매핑할 때 사용한다 ORDINAL 대신에 STRING을 사용해야 한다 ..
-
[Spring JPA] 영속성 컨텍스트의 특징Spring/Spring JPA 2021. 6. 14. 18:36
1. 1차 캐시 기능 다음과 같이 Member 객체를 생성하고 persist했다고 가정해보자 // 객체 생성 Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); // 객체 영속화 em.persist(member); 영속성 컨텍스트가 flush되기 전까지는 다음과 같은 상태를 유지한다 만약 이 상태에서 다음과 같이 객체를 조회한다면 DB에 쿼리를 날리지 않고 바로 조회될 것이다 Member findMember = em.find(Member.class. "member1"); 만약 DB에 존재하는 member2를 조회한다면 1차 캐시를 거쳐서 조회될 것이다 Member findMember2 = em.find(Memb..