🍀spring/스프링 jpa

🍀spring/스프링 jpa

[Spring JPA] 연관관계 매핑 기초

안녕하세요. 오늘은 jpa 연관관계 매핑 기초에 대해 알아보려 합니다. 김영한님의 자바 ORM 표준 JPA 프로그래밍을 읽고 정리했습니다. 단방향 연관관계 연관관계 중에서는 다대일 단방향 관계를 가장 먼저 이해해야한다. 회원과 팀의 관계를 통해 다대일 관계를 알아보려고 한다. - 회원과 팀이 있다. - 회원은 하나의 팀에만 속할 수 있다. - 회원과 팀은 다대일 관계다. 테이블 연관관계의 경우 TEAM_ID를 외래 키로 사용하여 회원 테이블과 팀 테이블이 연관관계를 맺는다. 그렇게 되면 두 테이블은 양방향 관계가 되고 회원이 팀을 조회할 수 있고, 팀도 회원을 조회할 수 있다. SELECT * FROM MEMBER M JOIN TEAM T ON M.TEAM_ID = T.TEAM_ID; # 회원과 팀을 조..

🍀spring/스프링 jpa

[Spring JPA] 엔티티 매핑

안녕하세요. 오늘은 jpa를 사용하여 엔티티와 테이블을 매핑하기 위한 어노테이션에 대해 알아보려합니다. 김영한님의 자바 ORM 표준 JPA 프로그래밍을 읽고 정리했습니다. @Entity jpa를 사용하여 테이블과 매핑하기 위해서는 @Entity 어노테이션을 붙여야한다. 이 어노테이션이 붙은 테이블은 jpa가 관리하며 엔티티라고 부른다. 엔티티 클래스를 사용할 때는 세 가지의 주의사항이 있다. 1. 기본 생성자는 필수 jpa가 엔티티 객체를 생성할 때 기본 생성자를 이용하므로 이 생성자는 반드시 있어야 한다. 자바는 생성자가 없으면 기본 생성자를 자동으로 생성한다. 하지만 임의의 생성자를 만들었다면 기본 생성자를 만들어야 한다. public Member() {} // 기본 생성자 public Member(..

🍀spring/스프링 jpa

[Spring JPA] 영속성 관리

안녕하세요. 오늘은 jpa가 엔티티를 어떻게 관리하는 지 에 대해서 알아보려고 합니다. 김영한님의 자바 orm 표준 jpa 프로그래밍을 읽고 정리했습니다. 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저 팩토리는 엔티티 매니저를 만드는 공장이다. 이를 만드는 비용이 커서 한 개만 만들어서 공유하도록 설계되어 있다. 엔티티 매니저 팩토리는 여러 스레드가 동시에 접근해도 안전하지만 엔티티 매니저는 여러 스레드에서 공유하여 사용하면 동시성 문제가 생길 수 있어서 공유하면 안된다. 요청2의 엔티티 매니저는 db의 커넥션 풀을 사용하고 있는데 요청1의 엔티티 매니저는 사용하고 있지 않다. 엔티티 매니저는 db 연결이 꼭 필요한 시점까지 커넥션 풀을 얻지 않는다. 보통 트랜잭션을 시작할 때 커넥션을 획득한다. ..

pkyung
'🍀spring/스프링 jpa' 카테고리의 글 목록 (2 Page)