참고
프로젝트 환경설정
NOTE
•
프로젝트 생성 및 라이브러리는 알고있으므로 생략
JPA/DB 환경설정
NOTE
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop
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
YAML
복사
application.yml
•
spring.jpa.hibernate.ddl-auto :create
◦
애플리케이션 실행 시점에 테이블을 drop하고 다시 create해준다.
•
show_sql
◦
System.out에서 하이버네이트 실행 SQL을 남겨준다.
•
org.hibernate.SQL
◦
logger를 통해 하이버네이트 실행 SQL을 남긴다.
회원 리포지토리
NOTE
@Repository
public class MemberRepository {
@PersistenceContext
EntityManager em;
public Long save(Member member) {
em.persist(member);
return member.getId();
}
public Member find(Long id) {
return em.find(Member.class, id);
}
}
Java
복사
•
@PersistenceContext
◦
컨테이너 환경(ex SPring)에서는 개발자가 Entity를 직접 생성하지 않고 컨테이너에 위임한다.
◦
자세한건 JPA강의를 참조하자
쿼리 파라미터 로그 남기기
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'
Groovy
복사
•
현재 SQL 로그를 남겨도 파라미터는 ?로 나온다.
•
다음 라이브러리를 추가하면, ?로 들어오는 로그에 같이 보여준다.
?에 값이 들어간 로그도 보여줌!