엔티티

· JPA
엔티티의 연관관계를 설정할때 주의해야할 부분들이 있다. 다중성 다중성에는 다대일(@ManyToOne) 일대다(@OneToMany) 일대일(@OneToOne) 다대다(@ManyToMany) 가 있다. 다중성을 판단하기 어려울 때는 반대방향을 생각해 보면 된다. 참고로 일대다의 반대 방향은 항상 다대일이고, 일대일의 반대방향은 항상 일대일이다. 일대일 관계에서는 외래키를 어느 테이블에서도 가질 수 있다. 어느 테이블이든 외래키 하나만 있으면 양쪽으로 조회할 수 있다. 주 테이블에 외래키가 있으면 주 테이블이 외래키를 가지고 있으므로 주 테이블만 확인해도 대상 테이블과 연관관계가 있는지 알 수 있고, 대상 테이블에 외래키가 있을때는 일대일에서 일대다로 변경할 때 테이블 구조를 그대로 유지할 수 있다. 단방향,..
· JPA
엔티티 매니저(Entity Manager) JPA에서 엔티티 매니저(Entity Manager)는 엔티티를 저장하고, 수정하고, 삭제하고 조회하는 등 엔티티와 관련된 모든 일을 처리한다. 또한 영속성 컨텍스트를 통해 데이터의 상태 변화를 감지하고 필요한 쿼리를 자동으로 수행한다. Spring Data JPA에서는 EntityManager를 자동으로 Bean이 등록되기때문에 직접 사용하지는 않는다. 엔티티 매니저 팩토리와 엔티티 매니저 데이터베이스를 하나만 사용하는 애플리케이션은 일반적으로 엔티티 매니저 팩토리를 하나만 생성한다. 엔티티 매니저 팩토리는 이름 그대로 엔티티 매니저를 만드는 공장인데, 공장을 만드는 비용은 상당히 크다. 따라서 한 개만 만들어서 애플리케이션 전체에 공유하도록 설계되어 있다. ..
· DDD
엔티티 (ENTITY) 고유의 식별자를 갖는 객체로 자신의 라이프사이클을 갖는다. 도메인 모델의 데이터를 포함하며 해당 데이터와 관련된 기능을 함께 제공한다. 밸류 (VALUE) 고유의 식별자를 갖지 않는 객체로 주로 개념적으로 하나인 도메인 객체의 속성을 표현할 때 사용한다. 엔티티의 속성으로 사용될 뿐만 아니라 다른 밸류 타입의 속성으로도 사용될 수 있다. 애그리거트 (AGGREGATE) 관련된 엔티티와 밸류 객체를 개념적으로 하나로 묶은 것 도메인 서비스 (DOMAIN SERVICE) 특정 엔티티에 속하지 않는 도메인 로직을 제공한다. 도메인 로직이 여러 엔티티와 밸류를 필요로 할 경우 도메인 서비스에서 로직을 구현한다. 예를 들어 '할인 금액 계산'은 상품, 쿠폰, 회원 등급, 구매 금액 등 다양..
· 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
'엔티티' 태그의 글 목록 (2 Page)