Spring/스프링 JPA 13

JPA 엔티티 매핑

엔티티 맵핑 소개 @Entity, @Table : 객체와 테이블 매핑 @Column : 필드와 컬럼 매핑 @Id : 기본 키 매핑 @ManyToOne, @JoinColumn : 연관관계 매핑 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다 JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 가 필수이다. 주의 기본 생성자 필수 final 클래스, enum, interface, inner 클래스 사용하지 못한다. 저장할 필드에 final 사용할 수 없다. @Entitiy name 속성 JPA에서 사용할 엔티티 이름을 지정한다. 기본값은 내 클래스명과 동일 한 값을 사용한다. 같은 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table @Table은 엔티티와 매핑..

JPA 영속성 컨텍스트

영속성 컨텍스트 JPA를 공부할 때 가장 중요한 2가지가 있다. 객채와 관계형 데이터베이스를 맵핑하는 것 영속성 컨텍스트를 이해하는 것 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 팩토리를 통해서 고객의 요청이 올 때마다 EntityManager를 생성한다. EntityManager 매니저는 내부적으로 데이터베이스 커넥션을 통해서 DB를 접근한다 영속성 컨텍스트 "엔티티를 영구 저장하는 환경"이라는 뜻 EntityManager.persist(entity) 객체를 DB에 저장하는 거라고 배웠지만 실제로는 깊은 내용이 있다. 엔티티를 영속성 컨텍스트라는 곳에 저장하는 것이다. 엔티티 매니저? 영속성 컨텍스트? 엔티티 매니저를 생성하면 눈에 보이지 않는 영속성 컨텍스트에 담긴다. 엔티티의 생명주기 비영..