[서버][스프링] DB 관련 property 알아보기
application.yml 또는 application.properties에서 쓰이는 DB 관련 프러퍼티에 대해 간단히 알아보겠습니다.
spring.jpa.database: "POSTGRESQL"
작동할 대상 DB를 지정합니다. 자동 감지된 것이 기본적으로 사용됩니다.
"databasePlatform" 프로퍼티를 사용하여 설정할 수도 있습니다.
spring.datasource.platform: "postgres"
schema-${platform}.sql 나 data-${platform}.sql와 같은 DDL 또는 DML에서 사용할 플랫폼
*DDL : Data Defination Language
*DML : Data Manipulation Language
spring.jpa.show-sql: "true"
디버깅을 위해 생성된 SQL을 로그에서 보여주는 것을 설정하는 부분
spring.database.driverClassName: "org.postgresql.Driver"
spring.datasource.driverClassName가 올바른 이름입니다. JDBC Drive의 이름을 적는 곳입니다. 기본적으로는 spring.datasource.url를 기반으로 자동 감지하는 것 같습니다.
Fully qualified name of the JDBC driver. Auto-detected based on the URL by default.
*stackoverflow.com/a/33324144/7225691
*gmlwjd9405.github.io/2018/05/15/setting-for-db-programming.html
spring.datasource.url: "jdbc:postgresql://database:5432/my_local"
데이터베이스의 JDBC url을 의미합니다.
사용하는 DB에 따라 포멧이 약간씩 다르니 본인의 DB에 맞는 값을 잘 사용하면 됩니다.
*howtodoinjava.com/spring-boot2/datasource-configuration/
spring.datasource.username: "postgres"
database의 로그인 username
spring.datasource.password: "{cipher}4788dfe1ccbe6485934aec2ffeddb06163ea3d616df5fd75be96aadd4df1da91"
database의 로그인 password
spring.datasource.testWhileIdle: "true"
스프링 1.4 버전 부터는 spring.datasource.tomcat.testwhileidle 로 쓰이는 것 같습니다.
*d2.naver.com/helloworld/5102792(꼭 읽어볼 것!)
spring.datasource.validationQuery: "SELECT 1"
JDBC 커넥션의 유효성을 확인할 때 사용하는 쿼리문
spring.jpa.properties.hibernate.dialect: "org.hibernate.dialect.PostgreSQLDialect"
ORM은 객체 맵핑을 통해 자동으로 SQL 쿼리문을 작성합니다. 그러나 DB마다 쿼리가 다를 수도 있기 때문에 위의 설정으로 인해 dialect를 설정합니다. 그런데 보통 자동으로 설정된 값을 사용하면 되는 것 같습니다.
*2dongdong.tistory.com/66(글 좋음)
*medium.com/@sindepal/jpa-custom-dialect-%EB%B0%A9%EC%96%B8-spring-boot-f7c71f2d7d72
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation: "true"
아래 링크 참고
*n1tjrgns.tistory.com/m/272?category=898948
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults: "false"
true(기본값)
This setting is used to control whether we should consult the JDBC metadata to determine certain Settings default values when the database may not be available (mainly in tools usage).
*n1tjrgns.tistory.com/m/272?category=898948
spring.jpa.hibernate.ddl-auto: "create-drop"
아래 링크 참고
*pravusid.kr/java/2018/10/10/spring-database-initialization.html
signing.key: "345345fsdfsf5345"
참고
spring.io/guides/gs/accessing-data-mysql/
docs.spring.io/spring-boot/docs/2.1.18.RELEASE/reference/html/howto-data-access.html
docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html
docs.spring.io/spring-boot/docs/2.1.x/reference/html/howto-database-initialization.html
stackoverflow.com/questions/30118683/how-to-log-sql-statements-in-spring-boot
m.blog.naver.com/kh2un/222008545174
댓글 영역