필드와 컬럼 맵핑
2022. 6. 30. 15:50
JPA
1. 필드와 컬럼 맵핑 @Entity public class Member { @Id private Long id; @Column(name = "name") private String username; private Integer age; @Enumerated(EnumType.STRING) private RoleType roleType; @Temporal(TemporalType.TIMESTAMP) private Date createdDate; @Temporal(TemporalType.TIMESTAMP) private Date lastModifiedDate; @Lob private String description; //Getter, Setter… } 2. 매핑 어노테이션 정리 3. @Column 4. @E..
엔티티 매핑
2022. 6. 30. 01:24
JPA
1. 엔티티 매핑 • 객체와 테이블 매핑: @Entity, @Table • 필드와 컬럼 매핑: @Column • 기본 키 매핑: @Id • 연관관계 매핑: @ManyToOne,@JoinColumn 2. @Entity • @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다. • JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 • 주의 • 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) • final 클래스, enum, interface, inner 클래스 사용X • 저장할 필드에 final 사용 X 3. @Entity 속성 정리 • 속성: name • JPA에서 사용할 엔티티 이름을 지정한다. • 기본값: 클래스 이름을 그대로 사용(예: Member) ..
영속성 컨텍스트
2022. 6. 29. 22:08
JPA
1. 엔티티 매니저 팩토리와 엔티티 매니저 • JPA를 이해하는데 가장 중요한 용어 • “엔티티를 영구 저장하는 환경”이라는 뜻 • EntityManager.persist(entity); • 영속성 컨텍스트는 논리적인 개념 • 눈에 보이지 않는다. • 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 J2SE 환경 엔티티 매니저와 영속성 컨텍스트가 1:1 J2EE, 스프링 프레임워크 같은 컨테이너 환경 엔티티 매니저와 영속성 컨텍스트가 N:1 2. 엔티티의 생명주기 • 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 • 영속 (managed) 영속성 컨텍스트에 관리되는 상태 • 준영속 (detached) 영속성 컨텍스트에 저장되었다가 분리된 상태 • 삭제 (removed)..
JPA 설정하기
2022. 6. 29. 21:55
JPA
1. 라이브러리 추가 - pom.xml -자바 8 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 - 자바 11일 때 추가 javax.xml.bind jaxb-api 2.3.0 2. JPA 설정하기 - persistence.xml • JPA 설정 파일 • /META-INF/persistence.xml 위치 • persistence-unit name으로 이름 지정 • javax.persistence로 시작: JPA 표준 속성 • hibernate로 시작: 하이버네이트 전용 속성 3. 데이터베이스 방언 • JPA는 특정 데이터베이스에 종속 X • 각각의 데..