https://velog.io/@kefa/Spring-Boot-Mysql
소스에 대해서 추가로 서치해보고 정리하는 페이지.
모르는게 많아서 페이지가 길어질 듯 싶다.
SQL DDL 코드 분석해보기 (1)
yaml 파일 코드 분석해보기 (2)
(분명 강의에서 이 부분을 말한 시점에 Dependency로 logback을 추가하지 않았는데 logback 이 자동으로 로그를 찍는다는 말이 이해가 안되었다.)
아무튼 logback.xml을 수정할 필요없이 yaml에서 컨트롤 가능하다고 한다.
logging - com.fastcampus.projectboard
구체적으로 언급하고 싶은 로그 레벨을 명시한다.
예를 들어 "com.fastcampus.projectboard 에서 발생하는 모든 log들을 Debug레벨로 보겠다." 라는 뜻이다.
logging - org.springframework.web.servlet
Request,Response 로그만 보기위해 Debug 활성화로 해서 보는게 아닌
org.springframework.web.servlet를 따로 명시하여 Debug 처리하였다.
(아까도 말했다 싶이 Debug를 true로 바꾸면 너무 장황해져서 필요한 Request,Response 부분만 보기위해 따로 명시했다고 한다.)
Request,Response가 오는 패키지가 바로 org.springframework.web.servlet라고 한다.
spring: datasource:
데이터베이스 접근을 위한 코드인데
접근 로직을 배워야 할 필요성이 있다고 느껴 검색해보도록 하겠다.
jpa: defer-datasource-initialization:
테스트용 데이터베이스 데이터를 생성할 수 있게 끔 만든다.
hibernate.ddl-auto
이 코드가 날 놀라게 만들었는데 자동으로 ddl 문을 만들어 준다고 한다.
entity개체의 값만 보고도 create table문을 만들어서 test가 실행될 때 자동으로 entity개체 테이블을 생성해준다.
하지만 이 옵션은 로컬환경에서만 사용하길 권장한다고 한다.
왜냐하면 create 옵션은 해당하는 테이블이 있으면 DROP하고 새로 만들어 버린다.
까딱하고 서버에서 사용한다면 대참사
( https://smpark1020.tistory.com/140 ) 참고`
추가적인 properties를 통해 JPA에 사용할 구현체에 종속된 property를 따로 설정할 수 있다. 현재 Spring Data JPA는 기본 구현체로 Hibernate를 사용하고 있다. 한번더 추상화해서 Spring Properties를 이용해서 데이터를 세팅 하고있다..라고 하는데 뭔 소리야 이게.. 나중에..나중에 글쓰는 시점에서 과부화가 왔으니 나중에정리하는걸로.. Part2.03 - 32:00
참고 : https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html
hibernate.format_sql
한줄로 길게 쓰여진 코드를 보기 쉽게 formating 해주는 코드이다.
hibernate.default_batch_fetch_size
뱃치팻치뱃치팻치
JPA에서 복잡한 SQLB를 한번에 SELECT 할 수 있게 하는 코드
예를들어 TABLE 안에 JOIN TABLE로 가져와야하는 ROW 수가 10개라고 가정하면
SQL 문장이 10개가 되어버릴 수 있으니 이 불편함을 해소해주는 코드이다.
(N+1 QUERY 문제)
h2.console.enabled
h2 웹 콘솔을 활성화 한다.
sql.init.mode
테스트 SQL을 언제 작동시킬 것인가 에 대한 코드이다.
참고 : http://honeymon.io/tech/2021/01/16/spring-boot-config-data-migration.html 쪽에서 스프링 부트 2.4+ 를 검색하면 된다.