Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Spring Boot] QueryDSL, Q클래스 본문
QueryDSL
⭐. Entity클래스로부터 파생된 Q클래스가 필요하다.
ex. Member클래스로부터 QMember클래스가 만들어져야 한다.
(Intellij, Gradle -> Tasks -> other -> compileQuerydsl, Entity클래스를 수정할 때마다)
build.gradle 🐘
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
...
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
dependencies {
...
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
implementation "com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.0"
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
UserRepository의 상속관계
public interface UserRepository extends JpaRepsitory extends PagingAndSortingRepository extends CrudRepository extends Repository
-> 부채만 쌓여간다
❓ 도대체 언제 구현할까
❗ 실제 구현은 JPA가 한다
❓ JPA
: Java에서 ORM에 대한 API 표준 명세
(ORM: 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 도구)
(API: 다른 프로그램이 제공하는 기능을 제어하는 것)
'Backend > 스프링부트' 카테고리의 다른 글
[Spring Boot] BaseEntity에 사용되는 @SuperBuilder와 @MappedSuperclass (0) | 2022.12.06 |
---|---|
[Spring Boot] IoC 컨테이너와 DI, @Configuration + @Bean (0) | 2022.12.05 |
[Spring Boot] 폼과 폼 Validation (0) | 2022.11.28 |
[Spring Boot] 서비스(Service)와 에러처리 (0) | 2022.11.27 |
[Spring Boot] File 객체와 MultipartFile 인터페이스 (0) | 2022.11.26 |
Comments