https://tan-sog.tistory.com/166~174 까지 과정과 왜 사용하는질 알아보았지만 해당 포스팅 부터는 @Transactional에 대해 자세히 포스팅 하려고한다. 스프링 트랜잭션은 PlatformTransactionManager를 제공하는데 이의 구현체로 JPA를 사용할땐 JpaTransactionManager를 제공해주고 JdbcTemplate, MyBatis를 사용하면 DataSourceTransactionManager(JdbcTransactionManager)를 스프링 빈으로 등록해준다.이때, JPA와 JDBC를 동시에 사용한다해도 JpaTransactionManager은 DataSourceTransactionManager의 기능을 포함하고 있기 때문에 JpaTransactio..
설정 (라이브러리 추가)//Querydsl 추가 스프링 2.x 버전implementation 'com.querydsl:querydsl-jpa' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"//Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거clean {delete file('src/main/g..
QueryDSL쿼리를 Java로 type-safe하게 개발할 수 있게 지원하는 프레임워크timowest가 발표함DSL ?Domain (도메인) + Specific (특화) + Language (언어)특정한 도메인에 초점을 맞춘 제한적인 표현력을 가진 컴퓨터 프로그래밍 언어특징 : 단순, 간결, 유창쿼리 + 도메인 + 특화 언어다양한 저장소 쿼리 기능 통합데이터 기능 추상화JPA, MongoDB, SQL 같은 기술들을 위해 type-safe SQL을 만드는 프레임워크코드생성기APT : Annotation Processing Tool@EntityQuerydsl은 JPA 쿼리를 typesafe하게 작성하는데 많이 사용된다.주로 JPA 쿼리(JPQL)에 사용 QueryDSL-JPAJPAQueryFactory ..
참조 https://spring.io/projects/spring-data 스프링 데이터 JPA는 JPA를 편리하게 사용할 수 있도록 도와주는 라이브러리이다.그 중 대표적인 기능으로 1.공통 인터페이스 기능과 2. 쿼리 메서드 기능이 있다. JpaRepository 인터페이스를 통해서 기본적인 CRUD 기능을 제공한다.공통화 가능한 기능이 거의 모두 포함되어 있다.CrudRepository에서 fineOne() -> findById()로 변경되었다. Repository인터페이스를 생성하고 JpaRepository를 상속받으면 사용 준비는 끝이다. 쿼리 메서드 기능 규칙조회 : find...By, read...By, query..By, get..ByfindHelloBy처럼 식별하기 위한 내용이 들어가도 된..