Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

Spring Boot & JPA에서 Java와 Kotlin을 함께 사용하기

인프랩 favicon인프랩·Backend·
KotlinSpring BootJavaQueryDSLJPA
2024년 01월 10일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

인프랩은 Java로 엔티티를 선언하고 Kotlin으로 비즈니스 로직을 작성하는 멀티 모듈 구성을 도입해 Spring Boot & JPA의 언어 혼합 이점을 활용했습니다.

주요 경험

  • core 모듈에 Java 엔티티, 외부 모듈에 Kotlin을 배치하며 Lombok 어노테이션 프로세싱 순서 문제를 겪었고, 실험적 Lombok 플러그인 도입은 보류했습니다.
  • Kotlin과 Java 간 Null 안전성 이슈를 커스텀 NonNull/Nullable 애노테이션과 ArchUnit으로 관리했습니다.
  • JPA에 맞춰 엔티티는 Java, 로직은 Kotlin으로 분리하는 구조를 채택했고, 내부 프로퍼티의 접근 제어와 변경 감지 문제를 다뤘습니다.

얻은 인사이트

  • 서로 다른 언어의 강점을 살리되, 엔티티 관리 및 쿼리 구성은 일관성 규칙이 필요합니다.
  • Platform Type 이슈를 명시적 널 처리로 줄이고 팀 러닝 커브를 낮출 수 있습니다.

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
강의실 개편 섬네일
76%

강의실 개편

인프랩 favicon인프랩·2022년 07월 18일
신규 서비스 "꿀템"을 만들기 위한 여정(네? 다음달까지요?) -2편 섬네일
72%

신규 서비스 "꿀템"을 만들기 위한 여정(네? 다음달까지요?) -2편

지마켓 favicon지마켓·2024년 06월 30일
No Image
71%

개발 파트 소개 - 1. 백엔드 파트

인프랩 favicon인프랩·2024년 04월 23일