JPA(37)
-
JpaRepository와 CrudRepository - Spring 3.X
한국쪽 강의나 프로젝트를 보면 대부분 JpaRepository로 JPA를 사용하는데 해외 강의를 보면 CrudRepository를 상속 받아서 사용하는 편인 것 같다. 둘의 구분이 뭔지 궁금해졌고 스프링 3.X버전을 기준으로 이를 설명해보려고 한다. [ JpaRepository와 CrudRepository의 관계 ] JpaRepository는 결론부터 JPA를 사용하기 위해서 정의된 것으로 내부에 ListCrudRepository, ListPagingAndSortingRepository, QueryByExampleExecutor를 상속 받아서 만들어졌다. 이 중 ListCrudRepository는 CrudRespotiroy를 포함한다. 그래서 종합적인 기능은 JpaRepository에 들어있다. UML을..
2024.03.12 -
스프링 트랜잭션 - 트랜잭션의 전파
보호되어 있는 글입니다.
2024.03.10 -
스프링 트랜잭션 - 예외와 트랜잭션 커밋, 롤백
보호되어 있는 글입니다.
2024.03.10 -
스프링 트랜잭션 - 적용 확인법, ReadOnly, 트랜잭션 적용 순서, 초기화 시점
보호되어 있는 글입니다.
2024.03.09 -
서비스 계층 구조 설계에서의 트레이드 오프
보호되어 있는 글입니다.
2024.03.09 -
QueryDSL 2.7 버전 설정 방법
예전 프로젝트들을 살펴보면서 기존 코드를 개선해보면 어떨까하는 생각이 들어 코드를 다시 살펴보았다. 그 중에서 동적으로 쿼리를 작성했던 부분이 있었는데 그 부분을 QueryDSL로 바꿔볼려고 하니 설정하기가 너무 귀찮았다. 방법 그대로 따라가면 쉽게 해결이 된다. 1. build.gradle을 다음처럼 설정한다. build.gradle plugins { id 'java' id 'org.springframework.boot' version '2.7.16' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = ..
2024.03.05