전체 글61 고급매핑 참고 이글은 자바 ORM 표준 JPA프로그래밍을 읽고 정리한 글입니다. 상속 관계 매핑 관계형 DB에는 상속이라는 개념이 없다. 대신에 슈퍼타입 서브타입 관계라는 모델링 기법이 객체의 상속 개념과 유사하다. ORM에서는 상속관계매핑을 객체의 상속 구조와 DB의 서브타입 관계를 매핑한다. -슈퍼타입 서브타입 논리모델을 테이블로 구현하는 방법 1.각각의 테이블로 변환 : 각각을 모두 테이블로 만들고 조회할때 조인사용 -> 조인 전략 2.통합 테이블로 변환 : 테이블 하나만을 사용해서 통합 -> 단일 테이블 전략 3.서브타입 테이블로 변환 : 서브타입마다 하나의 테이블을 만든다 -> 테이블 전략 어노테이션 @Inheritance(strategy=InheritanceType.XXX) - JOINED: 조인 전략.. 2021. 1. 10. 다양한 연관관계 매핑 참고 이글은 자바 ORM 표준 JPA프로그래밍을 읽고 정리한 글입니다. 엔티티와 연관관계를 매핑할 때는 3가지를 고려한다. 1.다중성 2.방향성 3.연관관계의 주인 다중성 -다대일 -일대다 -일대일 -다대다 왼쪽을 연관관계의 주인으로 정함. 다중성을 판단하기 어려울때는 반대방향을 생각해보면 된다. 반대방향이 일대다라면 자신은 그의 반대인 일대다이다. 다대일 반대방향:일대다 연관관계의주인:다 위의 사진은 회원과 팀을 다대일 단방향으로 구성해둔것이다. 위를 보면 Member엔티티는 team으로 Team엔티티에 참조할 수 없지만 그 역은 성립하지 않는다. 실선이 연관관계의 주인이고 점선이 연관관계의 주인이 아니다. JPA는 외래키를 관리할때 연관관계의 주인만 사용하기 때문에 Team.mebers는 조회를 위한.. 2021. 1. 10. 연관관계 기초 매핑 참고 이글은 자바 ORM 표준 JPA프로그래밍을 읽고 정리한 글입니다. 엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 객체는 참조를 사용해서 관계를 맺고 테이블은 외래키를 사용해서 관계를 맺는다. 이번에는 객체의 참조와 테이블의 외래키를 매핑해보도록 하겠다. 단방향 연관관계 자 회원과 팀의 관계를 통해 다대일 단방향 관계를 알아보겠다. -회원과 팀이 있다. -회원은 하나의 팀에만 소속될 수 있다. -회원과 팀은 다대일 관계이다 자 객체 Member는 객체 Team을 가지고 있어야 참조를 통해 팀을 구할수 있다. 그에 반해 Member테이블은 외래키로 team_id를 가지고만 잇어도 팀을 구할 수 있다. 객체 연관관계 -회원 객체는 Member.team필드로 팀 객체와 연관관계를 맺는다. -회원 객체와.. 2021. 1. 9. 엔티티 매핑 참고 이글은 자바 ORM 표준 JPA프로그래밍을 읽고 정리한 글입니다. @Entity -Jpa를 사용해서 테이블과 매핑할 클래스에 필수적으로 붙여야함. -이 어노테이션이 붙은 클래스는 JPA가 관리하는 것으로 엔티티라고 한다. -name속성을 지정해서 매칭할 테이블 이름을 지정할 수 있음. 미지정시 클래스이름을 사용. -기본생성자 필수 -final,eum,interface,inner클래스에 사용 x -저장할 필드에 final 사용 x @Table -엔티티와 매핑할 테이블을 지정하는 어노테이션. 생략하면 엔티티 이름을 클래스명으로 사용. -마찬가지로 name속성으로 지정가능. -catalog,schem 속성이 있으며 각각의 기능이 있는 db에서 각각의 기능 매핑. 기본키 매핑 이때까지는 @Id 어노테이션을.. 2021. 1. 9. 이전 1 ··· 8 9 10 11 12 13 14 ··· 16 다음