JPA 탄생배경
·
JPA
JPA 탄생배경 1. SQL 중심적인 개발의 문제점 - 반복되는 코드, 지루한 코드 ex)CRUD - 수정시 객체를 수정해야하며 동시에 DB 컬럼도 설정을 따로 해줘야한다. 따라서 SQL의존성을 많이 띄게된다. 2. 패러다임의 불일치 객체 관계형 DB 동일한 특성들을 묶어서 사용함을 목표로함 데이터를 정규화해서 보관을 목표로함 서로 다른 목표를 가지고 있기때문에 설계에 어려움을 겪을 수 있다. 3. 객체와 관계형 데이터베이스의 차이 1. 상속 - 객체에는 상속관계가 존재하지만 관계형 DB에는 상속 관계가 없다(상속과 비슷한게 있지만 정확하게는 없음) ex) - Album에 insert를 할 때 테이블이 2개이기 때문에 sql을 두번 작성해야한다. - Select시에는 join을 해야하며 movie를 가져..
1.3 Products Service 설계 - Products(ProductService.interface)
·
JPA
보호되어 있는 글입니다.
1.2 Products Repository 설계 - Products(ProductRepository.interface)
·
JPA
package com.bnc.main.product.domain; import org.springframework.data.jpa.repository.JpaRepository; public interface ProductRepository extends JpaRepository { } 우리가 사용할 repositroty에 JPARepository를 확장시켜주어 JPARepository가 가지고 있는 메소드를 사용할 수 있도록 해준다. entitymanager를 사용하는 방법도 있지만 실무에서는 사용하지 않는다고 한다. 기본으로 제공하는 메소드들을 사용하지만 따로 쿼리문을 작성해야 할 때는 @Query("쿼리문")을 사용하면 된다. Test package com.bnc.main.product.domain;..
1.1 도메인 설계 - Products(Products.class)
·
JPA
package com.bnc.main.product.domain; import com.bnc.main.support.BaseEntity; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import org.apache.logging.log4j.util.Strings; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import static com.google.common.base.Preconditions.checkArgument; @Entity @Getter @NoArg..
BE전문가 프로젝트
'JPA' 카테고리의 글 목록 (9 Page)