취업 준비/실전 JPA
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 셋팅
가끔개발
2023. 5. 8. 15:28
1. Ultimate 유료 버전사용중이여서 셋팅을 한다
2.의존성 추가
★ 오류 ★
Gradle 버전과 java 버전이 맞지않아 빌드가 안되는 오류발생하였다.
Ctrl + alt + s 설정을 연후 gradle에가서 Gradle JVM 버전을 자바 버전에 맞게 다운로드및 변경하였다.
빌드실행은 gradle에서 intellij IDEA로 변경
3. h2 database 연결
4. application.yml 설정
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop; //H2 1.4.200 버전부터 MVCC 옵션이 제거되었습니다.
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
show_sql: true
format_sql: true
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace #스프링 부트 2.x, hibernate5
# org.hibernate.orm.jdbc.bind: trace #스프링 부트 3.x, hibernate6
5. JPA 설정
package jpabook.jpashop;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.stereotype.Repository;
@Repository
public class MemberRepository {
@PersistenceContext
private EntityManager em;
public Long save(Member member){
em.persist(member);
return member.getId();
}
}
member를 반환하지 않고 id만 반환하는 이유
command와 query를 분리 저장을 하면 side effect를 발생할수 있기 때문에 안만들고 아이디 정도만 조회하게 만듬