TIL_015 | Kotlin + Spring Boot, Jpa

묘한묘랑·2023년 12월 18일
0

TIL

목록 보기
15/31

이번 주차부터 Kotlin과 Spring Boot에 대하여 학습을 진행하게 되었다.

우선 이번 주차 과제의 목표는 Todo App 만들기이다.

------
IDEIntellij Ultimate
Spring Boot Version3.2.0
Postgresql Version15
개발 인원1
사용 언어Kotlin

Kotlin + Spring Boot

# application.yaml

server:
  port: 9001

spring:
  jpa:
    show-sql: false
    hibernate:
      ddl-auto: create
  datasource:
    url: ${POSTGRES_URL}
    username: ${POSTGRES_ID}
    password: ${POSTGRES_PW}
logging:
  level:
    com.zaxxer.hikari: TRACE
    com.zaxxer.hikari.HikariConfig: DEBUG
    p6spy: info
decorator:
  datasource:
    p6spy:
      enable-logging: true
      multiline: true

spring:datasource:url, username, password의 경우 gitignore + 관리의 편이성을 원하여 spring dotenv를 사용하였다.
dependencies에 추가하고 .env파일만 만들어주면 설정이 끝이라 매우 간단하다.

이외는 java Spring Boot와 별 차이가 없어서 넘어가도록 한다.

Kotlin + Jpa

우선, Kotlin에서 Jpa를 편하게 다루기 위해서는 필요한 설정이 있다.

plugins{
    kotlin("plugin.allopen") version "1.9.20"
    kotlin("plugin.jpa") version "1.9.20"
}

// javaEE라면 javax. 으로 시작한다.
allOpen {
    annotation("jakarta.persistence.Entity")
    annotation("jakarta.persistence.MappedSuperclass")
    annotation("jakarta.persistence.Embeddable")
}

우선 allopen의 경우 이 설정이 없다면 entity마다 open을 달아줘야 한다.
jpa의 경우 noarg의 플러그인의 기능을 포함하고 있는데, hibernate에서는 기본 생성자를 필요로 하기 때문에 그 부분을 생성해주게 된다.


추후 수정을 통해 내용을 추가 예정

profile
상황에 맞는 기술을 떠올리고 사용할 수 있는 개발자가 되고 싶은 개발자

0개의 댓글