post-thumbnail

스프링 데이터 JPA 분석

조회 : JPA 기능 사용Spring Bean의 컴포넌트 대상이 된다. Spring이 읽고 컨테이너에 올린다.JPA와 JDBC 등이 일으키는 영속성 계층의 예외는 종류가 서로 다르다. -> Spring이 제공하는 exception으로 바꿔주기 때문에 JPA, JDBC

2022년 7월 3일
·
0개의 댓글
·
post-thumbnail

확장 기능

스프링 데이터 JPA가 제공하는 인터페이스를 직접 구현하면 구현해야 하는 기능이 너무 많다.다양하게 커스텀해서 구현하고 싶다면? ex) JDBC, MyBatis, Querydsl...복잡한 쿼리, 동적 쿼리 등에 사용결국 레포지토리가 사용자 정의 레포지토리를 상속받으므

2021년 12월 28일
·
0개의 댓글
·
post-thumbnail

쿼리 메소드

이름이 'A' 이고 나이가 15 이상인 사람을 조회하는 메소드repository 에서 findByUsernameAndAgeGreaterThen(String username, int age) 메소드 선언쿼리 결과 메소드 종류 확인(https://docs.spr

2021년 12월 24일
·
0개의 댓글
·
post-thumbnail

공통 인터페이스

구현체를 따로 구현하지 않아도, 스프링이 인터페이스를 보고 spring data jpa가 구현 클래스를 만들어 주입한다.Spring Data JPA 부분은 MongoDB로 바꾸어도 Spring Data에서 공통적인 부분은 어떤 DB든 사용이 가능하다.T : 엔티티ID

2021년 12월 23일
·
0개의 댓글
·

도메인 모델링

JPA는 기본적으로 파라미터가 없는 생성자가 필요하다.생성자 접근을 private이 아닌 protected로 설정하기 위한 어노테이션이다.ToString 메소드를 어노테이션으로 정의하는 것.연관 관계가 있는 Team을 지정해놓는다면 순환 참조이므로 연관 관계는 뺀다.

2021년 12월 23일
·
0개의 댓글
·
post-thumbnail

프로젝트 환경설정

Spring Boot : 2.6.1GradlelombokSptring Data JPAH2 Databasespring initializr 에서 입력 후 GENERATE, 압축 해제New > Gradle Project > 압축 해제한 파일 선택spring-boot-star

2021년 12월 20일
·
0개의 댓글
·

16

Hibernate : Open Session In ViewJPA : Open EntityManager In ViewWARN 17164 --- restartedMain JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.o

2021년 12월 15일
·
0개의 댓글
·
post-thumbnail

15

비추orderItem, member, delivery 강제 초기화com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class jpashop.api.OrderApiC

2021년 12월 10일
·
0개의 댓글
·
post-thumbnail

14

Order 조회시 연관관계가 있는 Member 조회, Member에서 Order조회, ... 하면 무한루프 발생 > 양방향 관계는 @JsonIgnore 선언으로 해결org.springframework.http.converter.HttpMessageConversionEx

2021년 12월 2일
·
0개의 댓글
·

13

@ResponseBody + @Controller

2021년 11월 29일
·
0개의 댓글
·

12

Emmethtml 자동 완성 해주는 툴. 이클립스 마켓에서 설치jsp의 import와 같은 기능을 한다. header, footer 등에 내가 만든 파일을 넣는 것include : 모든 소스에 header, footer 일일히 입력 (코드 중복)hierarchical

2021년 11월 4일
·
0개의 댓글
·

11

@SpringBootApplication이 붙은 클래스가 속한 패키지에 있는 모든 컴포넌트(@Repository, @Service, ...)가 스프링 빈에 자동 등록된다.@PersistenceContext : 스프링이 엔티티매니저 자동 주입@PersistenceUnit

2021년 10월 14일
·
0개의 댓글
·
post-thumbnail

10

starter.spring.io에서 initializr를 이용해 프로젝트 생성STS에서 import -> Existing Gradle Project RESTful API, Tomcat 내장 등spring-boot-starter-test \- junitspring-te

2021년 10월 7일
·
0개의 댓글
·
post-thumbnail

9

점(.)을 찍어 객체 그래프를 탐색하는 것단순히 값을 저장하기 위한 필드경로 탐색의 끝이므로 더 이상 탐색 불가능연관관계를 위한 필드단일 값 연관 필드 \- @XtoOne, 대상이 엔티티묵시적 내부 조인(inner join), 탐색 가능컬렉션 값 연관 필드 \- @O

2021년 10월 5일
·
0개의 댓글
·
post-thumbnail

8

JPQLJPA CriteriaQueryDSL네이티브 SQLJDBC API 직접 사용MyBatis, SpringJdbcTemplate과 같이 사용JPA를 사용하면 엔티티 객체를 중심으로 개발한다.이 때 문제는, 테이블이 아닌 엔티티 객체를 대상으로 검색해야 하는데, 모든

2021년 9월 30일
·
0개의 댓글
·
post-thumbnail

7

@Entity로 정의하는 객체데이터가 변해도 식별자로 지속해서 추적 가능int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체식별자가 없고 값만 있으므로 변경시 추적 불가자바 기본 타입 (int, double)래퍼 클래스 (Intege

2021년 9월 28일
·
0개의 댓글
·
post-thumbnail

6

em.find() : 데이터베이스를 통해서 실제 엔티티 객체 조회 \- em.getReference() : 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 \- 객체 조회시에는 sql 실행X, 값을 출력할 때 sql 실행실제로 클래스이름 출력하면 프록시

2021년 9월 28일
·
0개의 댓글
·
post-thumbnail

5

관계형 데이터베이스는 상속 관계가 없다.상속관계 매핑이라는 것은, 객체의 상속 구조와 DB의 슈퍼/서브타입 관계를 매핑하는 것이다.각각 테이블로 변환통합 테이블로 변환서브타입 테이블로 변환생성 삽입 조회 부모 테이블의 PK = 자식 테이블의 PK이자 FK@Di

2021년 9월 28일
·
0개의 댓글
·

4

객체와 테이블 연관관계의 차이 이해객체의 참조와 테이블의 외래 키 매핑방향(Direction) : 단방향, 양방향다중성(Multiplicity) : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M)연관관계의 주인(Owner) : 객체 양방향 연관관게

2021년 9월 17일
·
0개의 댓글
·

3

@Entity가 붙은 클래스는 JPA가 관리한다. 따라서 JPA를 사용할 테이블과 매핑할 클래스는 필수로 사용해야 한다.기본 생성자 필수 (public, protected)final(필드, 클래스), enum, interface, inner class XJPA에서 사용

2021년 9월 17일
·
0개의 댓글
·