본문 바로가기

JPA3

[JPA] 단방향 연관관계 매핑 | 테이블 중심 설계와 객체 지향 중심 설계 | Entity Mapping annatation으로 erd에 명시된 Entity와 Column들을 어떻게 JPA에서 선언하는지에 대해서 잘 배웠다. 그럼 이제 각각의 Entity에 대해서는 Ok니까 그 Entity 간의 관계를 표현해주는 코드를 구현해야 한다. 여기서부터는 객체지향적인 사고가 필요하다. 왜냐하면 테이블은 외래 키로 조인을 사용해서 연관된 테이블을 찾지만, 객체는 참조를 통해 연관된 객체를 찾기 때문이다. Member와 Team이라는 두 Entity가 있다고 가정하자. Team은 여러 개의 Member 객체를 가질 수 있으므로 두 Entity간 관계는 다음과 같다. Member : Team = N : 1 이때 Member 엔티티 클래스와 Team 엔티티 클래스를 데이터 중심으로 모델링하여 연관관계를 찾으면 외래 키 식.. 2023. 5. 5.
[JPA] 기본 키 매핑 | PK 기본 키 매핑 @Id // pk 매핑 @GeneratedValue(strategy = GenerationType.AUTO) private String id; @GenerateValue 어노테이션에 위와 같은(strategy = GenerationType.AUTO) 세팅을 하면, db에서 말하는 auto ingredient가 설정된다. 이때 JPA 기본 설정 파일 persistence.xml의 속성에는 none이나 update로 설정해주어야 한다. (당연함 값을 자동으로 + 해주는 거니까) 💡 String 보다는 Int, Int 보다는 Long Identity 주로 MySQL에서 사용하는 방식으로 기본 키 생성할 때 데이터베이스에 같이 위임하는 것이다. auto_increment는 db에 INSERT SQ.. 2023. 5. 4.
[JPA] 환경 세팅 | JPA 설정 파일 | 기초적인 것 구현하면서 동작 과정 이해하기 intelliJ, start.io.spring으로 spring 프로젝트를 생성한 후에 JPA를 활용하기 위해서 초기에 설정해둬야 하는 것들에 대해 정리하는 글이다. Persistence.xml JPA 설정 파일이다. 우리가 사용할 database에 대한 정보를 작성하는 파일으로, 위치는 반드시 /resources/META-INF/persistence.xml으로 설정해야 한다. 예시 코드는 아래와 같다. javax.persistence: JPA 표준 속성 hibernate: 하이버네이트 전용 속성 JPA 구동 방식 위에서 설정한 JPA 설정 파일로 설정 정보를 조회하고, EntityManagerFactory로 Entity를 생성한다. package hellojpa; import javax.persisten.. 2023. 5. 2.