스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - (JPA)

홍범선·2023년 5월 2일
0

스프링

목록 보기
22/35

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - (JPA)

  1. JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해준다.
    JPA를 사용하면 SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환 할 수 있따.
    JPA를 사용하면 개발 생산성을 크게 높일 수 있다.

  2. build.gradle 추가

  3. application.properties 추가

    show-sql을 하면 sql날리는 것을 볼 수 있음
    현재 H2DB에 Member 테이블이 있어서 ddl-auto = none을 한다. 하지만 create로 할 경우 Member테이블까지 생성해준다.

  4. Member클래스 변경

    JPA를 사용하기 위해선 해당 객체를 Entity선언을 해주어야 한다. 그리고 테이블 정보를 입력해야 한다. H2DB에서 Member테이블에 id는 시퀀스인 것을 알 수 있다. 또한 기본키이다. 그래서 id에 기본키라는 @id를 적어주고 시퀀스값이라는 정보 @GenerateValue~~~를 입력해준다.
    그리고 Member테이블 컬럼명이 name인데 만약 컬럼명이 username이라면 위에 값이 넣어주면 된다 하지만 컬럼명과 변수명이 같으므로 삭제한다.

  5. JPAMemberRepository 생성

    JPA를 쓰려면 EntityManager를 주입받아야 한다.
    JPA 프로그래밍 중 하나인데 Insert하기 위해선 psersist를 쓰면 된다.
    조회는 find를 사용하면 되는데 조회할 타입이랑, 식별자를 넣어주면 된다.
    findbyName과 findAll은 좀 다른 것을 볼 수 있는데 이것은 JPQL이라는 언어이다.
    보통 테이블 대상으로 쿼리를 날리지만 객체를 대상으로 날리고 이것을 변형하는 것이다.
    Member 엔티티를 조회하는데 엘리아스로는 m을 사용하고 그 객체 m 자체를 select한다는 의미이다. PK 기반이 아닌 것들은 JPQL로 작성해야 한다.

  6. 데이터 저장할 때에는 트랙젝션이 필요함

  7. Spring Config 변경

profile
알고리즘 정리 블로그입니다.

0개의 댓글