728x90 DataBase/JPA40 [JPA] 기본매핑 매핑예제 실제로 도메인을 분석 하고 설계 해본다. 참고로 getter, setter 는 생략했다. 도메인 모델 분석 회원은 주문을 여러번 할 수 있다. 주문 할때 여러개의 상품을 선택 할 수 있다. 같은 상품도 여러번 주문이 가능하다. 주문과 상품 사이에 다대다 관계를 주문 상품을 넣어 1:N, N:1 로 풀어낸다. 테이블 설계 각각 도메인은 다음과 같은 속성을 가진다. 그것을 테이블로 만들었다. 엔티티 설계와 매핑 엔티티설계는 다음과 같다. 구현 Member(회원) @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; // 이렇게 규약을 정해주면 알아보기 쉽다. @Column(length.. 2021. 8. 1. [JPA] 기본키 맵핑 기본키 맵핑 기본키를 어떻게 맵핑할지 알아본다. 효율성을 높이는 방법도 알아본다. 기본키 맵핑 어노테이션 @Id @GeneratedValue 기본키 맵핑 방법 @Id: 기본키를 사용자가 직접 정의하고 쓸때 해당 어노테이션만 달아주면 된다. @GeneratedValue: DB에서 자동으로 기본키를 알아서 채번해줄때 사용한다. @GeneratedValue의 전략들 IDENTITY 전략 기본 키 생성을 데이터 베이스에 위임한다. 주로 MySQL, PostgreSQL, SQL Server, DB2에서 사용 AUTO_ INCREMENT는 데이터베이스에 INSERT SQL을 실행 한 이후에 ID 값을 알 수 있다. - 그렇기 때문에 IDENTITY 전략에서는 영속성컨텍스트에 모았다가 한번에 날리지 못한다. - 원래.. 2021. 7. 31. [JPA] 데이터베이스 스키마 자동 생성 데이터베이스 스키마 자동 생성 데이터베이스 스키마 자동 생성에 대해 알아본다. 해당 부분은 공부하면서 중요하다는 것을 많이 느끼게 되었다. 실무에서 망하지 않으려면 잘 익혀두어야 될것 같았다. 특징 및 사용 DDL을 애플리케이션 실행 시점에 자동 생성 - 객체 매핑을 해두면 필요한 테이블을 다 만든다. 테이블 중심 -> 객체 중심 데이터베이스 방언을 활용해서 데이터베이스에 맞는 적절한 DDL 생성 - 문자같은경우 oracle, mysql 과 속성이 다른데 알아서 맞춰 준다. 이렇게 생성된 DDL은 개발 장비에서만 사용 생성된 DDL은 운영서버에서는 사용하지 않거나, 적절히 다듬 은 후 사용 속성 create: 기존테이블 삭제후 다시 생성한다. - 어플리케이션이 수행되고 나서 기존테이블을 삭제하고 @Ent.. 2021. 7. 30. [JPA] 엔티티, 테이블, 컬럼 매핑 엔티티 맵핑 소개 @Entity, @Table: 객체와 테이블을 맵핑할때 사용한다. @Column: 필드와 컬럼매핑 @Id: 기본 키 매핑 @ManyToOne, @JoinColumn: 연관관계 매핑 객체와 테이블 맵핑 사용법 및 주의점 @Entity: 해당 어노테이션이 붙은 클래는 JPA가 관리, 엔티티 라고한다. - JPA 를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수다. 기본생성자는 필수로 작성해줘야 한다. final 클래스 enum, interface, inner 클래스 사용 하면 안된다. 저장할 필드에 final 사용 하지 않는다. @Entity 어노테이션 name 속성을 가지고 있다. - JPA에서 사용할 엔티티 이름을 지정한다 - 기본값은 class 이름을 그대로 사용한다. - 같.. 2021. 7. 30. 이전 1 ··· 5 6 7 8 9 10 다음 728x90 반응형