[JPA 기본] 환경설정
[JPA 기본] 환경설정
build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.hibernate:hibernate-entitymanager'
compileOnly 'org.projectlombok:lombok'
/*developmentOnly 'org.springframework.boot:spring-boot-devtools'*/
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'
}application.properties
###Setting for MySql Database
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3307/jpa?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
#spring.datasource.url=jdbc:mysql://localhost:3309/jpa?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
spring.datasource.username='[유저명]'
spring.datasource.password='[비밀번호]'
###Setting for JPA
spring.jpa.database=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL57Dialect
#spring.jpa.show-sql=true
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
#spring.jpa.properties.hibernate.use_sql_comments=true
logging.level.org.hibernate.type.descriptor.sql=TRACE
#spring.jpa.generate-ddl=true
#spring.jpa.hibernate.ddl-auto=create
#create-delete => create
###Setting Logging Level
#logging.level.root=tracepersistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<!-- EntityManagerFactory 생성 시 사용되는 persistence name -->
<persistence-unit name="hello">
<!-- Named 쿼리를 xml로 사용하고 싶을시 활성화 -->
<!-- <mapping-file>META-INF/ormMember.xml</mapping-file> -->
<properties>
<!-- 필수 속성 -->
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="[유저명]"/>
<property name="javax.persistence.jdbc.password" value="[비밀번호]"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3307/jpa?characterEncoding=UTF-8&serverTimezone=UTC"/>
<!-- 하이버네이트 사용 시 다른 DB에서 MySQL 문법을 사용 가능하도록 변경.-->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL57Dialect"/>
<!-- 콘솔에 SQL 출력 여부 -->
<property name="hibernate.show_sql" value="true"/>
<!-- 가독성 높여주는 formatting 여부 -->
<property name="hibernate.format_sql" value="true"/>
<!-- Comment 확인 여부 -->
<property name="hibernate.use_sql_comments" value="true"/>
<!-- 쓰기 지연을 사용할수 있는 쿼리의 개수 (버퍼링같은 개념) -->
<!-- <property name="hibernate.jdbc.batch_size" value="10"/> -->
<!-- 데이터베이스 스키마 자동 생성 (create / create-drop / update / validate / none) -->
<property name="hibernate.hbm2ddl.auto" value="create"/>
<!--
(1) 페치 조인 미사용시 해당 어노테이션을 사용하면 지정된 size만큼 IN절로 넘긴다.
(2) 1000이하로 준다.
-->
<!-- <property name="hibernate.default_batch_fetch_size" value="100"/> -->
</properties>
</persistence-unit>
</persistence>출처
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.