Spring Boot & JPA에서 Java와 Kotlin을 함께 사용하기
·2024.01.10 22:00
핵심 내용
인프랩은 Spring Boot와 JPA 기반 프로젝트에서 Java와 Kotlin을 혼용하기로 결정했다.
자세히 보기
인프랩은 새로운 강의 에디터 프로젝트를 위해 Spring Boot와 JPA를 도입하며, 언어 선택 과정에서 Java와 Kotlin을 혼용하기로 결정했습니다.
Java만 사용할 경우, Null safety 부재로 인한 NullPointerException 위험과 메서드 기본 파라미터 미지원 등 최신 언어 대비 편의성이 부족하다는 단점이 있습니다.
반면 Kotlin만 사용할 경우, 다음과 같은 기술적 불일치 문제가 발생합니다.
- JPA와의 궁합 문제: Kotlin의 불변성(final) 지향 철학과 JPA의 가변성(변경 감지, 지연 로딩) 요구 사항이 충돌합니다.
- Setter 설정의 번거로움: 엔티티 내부 프로퍼티를 보호하기 위해
protected set을 사용하는 과정에서 코드가 오히려 길어지는 현상이 발생합니다. - QueryDSL 설정의 복잡성: (본문 미완성으로 생략)
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.