Springboot 에서 DATA-JPA(Hibernate) 사용하기[1] - 기초 설정

 

ORM 이란

ORM(Object Relational Mapping) 란 용어 그대로 객체와 관계형 데이터베이스의 데이터를 맵핑 해주는 것을 말한다. 필자가 사용해 본 ORM 은 Spring 에 Hibernate(JPA), Node.js 의 Sequelize, Bookshelf 이고 여기서는 Springboot에서 data-jap 를 사용해서 Springboot 와 데이터베이스간 데이터를 어떻게 처리하는지에 대해 설명하고자 한다.

Gradle 설정

먼저 말하지만 이후 게시글에 있을 Querydsl과 연동을 할 경우 버전 이슈가 있을 수 있다. 필자는 Springboot 1.52 버전을 사용하였다.

먼저 Gradle 설정을 살펴 보자

dependencies {
  	compile('org.springframework.boot:spring-boot-starter')
  	compile('org.springframework.boot:spring-boot-starter-web')
  	compile('org.springframework.boot:spring-boot-starter-aop')
  	compile('org.springframework.boot:spring-boot-starter-data-jpa') # 해당 라이브러리를 사용

위와 같이 compile('org.springframework.boot:spring-boot-starter-data-jpa') 을 추가한다

YAML 설정

spring:
  datasource:
    type: org.apache.tomcat.jdbc.pool.DataSource
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mydb?autoReconnect=true&useSSL=false
    username:
    password:
  jpa:
      hibernate:
        ddl-auto: update  
        naming:
          strategy: org.hibernate.cfg.ImprovedNamingStrategy
      show-sql: true # 실행 되는 SQL문을 보여 줄지 설정
      properties:  
        hibernate.format_sql: true # 형식화된 sql 문을 보여준다. Beautifier 기능이라고 생각하면 된다
        hibernate.enable_lazy_load_no_trans: true #Lazy Load 를 적용하기 위한 설정
      database: mysql

이 외에 더 많은 설정이 가능하다. 궁금하면 아래의 링크를 클릭하자.

설정보기로 이동

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

여기까지 오면 일단 Springboot에 ORM 인 Hibernate 를 사용할 준비가 완료되었다. 다음 장에서는 Entity와 Repository 를 이용하여 실제로 Database 와 객체를 Mapping 하여 사용하는 법을 설명하고자 한다.

 

[출처] https://doohwan-yoo.github.io/data-jpa-1/

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
62 [maven 설정] Jackson Databind » 2.6.7.1 졸리운_곰 2020.10.05 187
61 [maven 설정] MongoDB Java Driver » 3.12.6 졸리운_곰 2020.10.05 175
60 Maven 에 직접 jar 라이브러리 추가하기!!! ( 외부 repository 사용이 안될때) + scope 정리 졸리운_곰 2020.10.05 169
59 추상(abstract) 클래스가 필요한 기본적인 이유 졸리운_곰 2019.10.30 247
58 Java and JMX - Building Manageable Systems secret 졸리운_곰 2019.05.26 0
57 [GC] 강제로 GC시키기Java 메모리 full 발생시 강제로 GC 시키기 졸리운_곰 2019.01.22 377
56 Java Map 반복(Iteration)시키는 3가지 방법 졸리운_곰 2019.01.01 347
55 UML: 클래스 다이어그램과 소스코드 매핑 file 졸리운_곰 2018.04.30 381
54 lombok에 대해서 알아보자 file 졸리운_곰 2018.04.24 292
53 lombok을 잘 써보자! (2) 졸리운_곰 2018.04.24 318
52 lombok을 잘 써보자! (1) 졸리운_곰 2018.04.24 366
51 [Java] Quartz (쿼츠)를 사용하여 자바 스케줄링(scheduling) 하기 졸리운_곰 2018.02.12 509
50 [subclipse] svn에서 무시할 파일 설정하기 svn:ignore property 설정 file 졸리운_곰 2017.09.24 286
49 자바에서 C# 호출하기 file 졸리운_곰 2017.04.26 474
48 Comparison between C# and Java - DiVA.pdf file 졸리운_곰 2017.04.25 1017
47 Java Annotation: 인터페이스 강요로부터 자유를… file 졸리운_곰 2017.03.20 302
46 Java Naming conventions 자바 명명 규칙 졸리운_곰 2017.03.04 272
45 Timer 클래스를 이용한 작업 스케쥴링 졸리운_곰 2016.11.14 290
44 자바 8 살펴보기 file 졸리운_곰 2016.05.23 432
43 Java 8 개선 사항 관련 글 모음 졸리운_곰 2016.05.23 409
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED