Mapping

· JPA
JPA르 사용하는데 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 것이다. 따라서 매핑 어노테이션을 숙지하고 사용해야 한다. 아래 자주 쓰이는 기본적인 엔티티 매핑 어노테이션을 정리해보았다. @Entity JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여햐 한다. @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다. 속성 기능 기본값(Default) name 엔티티 이름을 지정한다. 이름이 같은 엔티티 클래스가 있다면 다른 이름을 지정해서 충돌되지 않게 해야한다. 미 설정 시 클래스 이름을 그대로 사용 기본 생성자는 필수 (public, protected) final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. ..
· JPA
JPA란? 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. SQL을 매핑하지 않고 자바 클래스와 DB테이블을 매핑한다. ORM이란? Object Relation Mapping의 약자로 객체를 통해 간접적으로 DB를 다루고 객체와 데이터를 자동으로 매핑한다. Query가 아닌 메서드로 데이터를 생성하고 조작할 수 있다. JPA 동작 과정 JPA는 애플리케이션과 JDBC 사이에서 동작한다. 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 DB와 통신한다. 즉, 개발자가 직접 JDBC API를 쓰는 것이 아니다. JPA 특징 데이터를 객체지향적으로 관리할 수 있기 때문..
· DDD
어떤 경우 사용하나? 두 개 이상에 프로퍼티를 한 개 컬럼에 매핑해야 할때 사용한다. DB 컬럼과 밸류를 양방향으로 변환시켜 준다. 이처럼 변환되는 코드를 모델에 구현하지 않고 AttributeConvertor를 사용해서 변환처리를 한다. 예를 들어 Length 밸류 객체는 int value와 String unit 필드를 가지고 있을때 DB상에는 value+unit로 저장된다. AttributeConverter Interface package javax.persistence; public interface AttributeConverter { public Y convertToDatabaseColumn (X attribute); // 밸류 타입을 DB 컬럼 값으로 변환 public X convertToEn..
· DDD
엔티티(Entity) 식별자를 갖는 객체 식별자 유형 특정 규칙에 따라 생성 UUID 사용 (java.util.UUID) 값을 직접 입력 일련번호 사용(시퀀스나 DB의 자동 증가 컬럼 사용)\ // 엔티티 클래스 @Entity @Table(name = "member") public class Member() { @Id private int id; // 식별자 } 밸류(Value) 타입 개념적으로 완전한 하나를 표한할 때 사용한다. 예를들어 주소(zipcode, address, detailAddress), 받는 사람(name, phoneNumber) 등등 // 엔티티 클래스 @Entity @Table(name = "member") public class Member() { @Id private int id..
beekei
'Mapping' 태그의 글 목록