일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 테스트메소드
- foreignkey
- EC2
- 메세지수정
- appspec.yml
- Query
- 컨테이너실행
- subquery
- application.yml
- 추후정리
- WeNews
- 메소드명
- MySQL
- 예약
- querydsl
- appspec
- ubuntu
- 2 > /dev/null
- 적용우선순위
- 포트
- 검색
- 테스트
- AuthenticationEntryPoint
- 서브쿼리
- ㅔㄴ션
- 네이티브쿼리
- 참조키
- 커밋메세지수정
- 외부키
- docker명령어
- Today
- Total
목록querydsl (4)
제뉴어리의 모든것
Querydsl은 오픈 소스 프로젝트이고 type-safe한 쿼리를 위한 Domain Specific Language이다. 왜 필요한가? SQL query는 문자이다. 이는 type-check가 불가능하고 실행해 보기 전까지 작동여부 확인이 어렵다. 만약 SQL이 class처럼 Type이 있고, Java코드로 작성할 수 있다면 좋지 않을까? SQL을 java로 type-safe하게 개발 할 수 있게 해주는 프레임워크가 Querydsl이다. QueryDSL은 JPQL(HQL)을 type-safe하게 작성하기 위해서 만들어졌고 다음처럼 동작한다. 탁구치는 개발자 :: 11. [JPA] Querydsl (tistory.com)
Spring Boot, Querydsl 사용 시 Gralde 설정 방법 build.gradle 설정 //Plugin을 추가 plugins { id 'org.springframework.boot' version '2.2.5.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" id 'java' } //querydsl 의존성 추가 dependencies { ... implementation 'com.querydsl:querydsl-jpa' ... } Querydsl이 생성하는 QClass들의 경로를 설정한다. (생..
@NoRepositoryBean public class UserRepositoryImpl extends QuerydslRepositorySupport implements CustomUserRepository { //QuerydslRepositorySupport 클래스에는 기본생성자가 없음. public UserRepositoryImpl() { super(User.class); } @Override public List findAllUserByAgeLimit(Integer limitCount) { QUser user = QUser.user; return from(user) .where(user.age.eq(25L)) .limit(limitCount) .fetch(); } @Override public Li..
스프링 데이터 JPA는 2가지 방법으로 QueryDSL을 지원한다. 1. org.springframework.data.querydsl.QueryDslPredicateExecutor 2. org.springframework.data.querydsl.QueryDslRepositorySupport 1번의 경우 대략 아래와 같이 사용이 가능하다. public interface ItemRepository extends JpaRepository, QueryDslPredicateExecutor { } QItem item = QItem.item; Iterable result = itemRepository.findAll( item.name.contains("장난감").and(item.price.between(10000,..