Web/QueryDSL
-
Querydsl (4) - 스프링 데이터 JPA + QuerydslWeb/QueryDSL 2024. 1. 24. 15:35
1. 스프링 데이터 JPA 리포지토리 생성 public interface MemberRepository extends JpaRepository { List findByUsername(String username); } 2. 사용자 정의 리포지토리 - 사용자 정의 인터페이스 작성 (이름 맘대로) - 사용자 정의 인터페이스 구현 (이름 맘대로 -> 원래는 정해져있었음) - 스프링 데이터 리포지토리에 사용자 정의 인터페이스 상속 public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); } public class MemberRepositoryImpl implements MemberRepositoryCustom {..
-
Querydsl (3) - 순수 JPA와 QuerydslWeb/QueryDSL 2024. 1. 24. 15:22
- 순수 JPA 리포지토리와 Querydsl은 같은 Repository에 손쉽게 사용 가능하다. @Repository public class MemberJpaRepository { private final EntityManager em; private final JPAQueryFactory queryFactory; public MemberJpaRepository(EntityManager em) { this.em = em; this.queryFactory = new JPAQueryFactory(em); } public void save(Member member) { em.persist(member); } public Optional findById(Long id) { Member findMember = e..
-
Querydsl (1) - 기본 문법Web/QueryDSL 2024. 1. 24. 15:08
1. QueryDSL 기본 사용법 public void startQuerydsl() { //member1을 찾아라. JPAQueryFactory queryFactory = new JPAQueryFactory(em); QMember m = new QMember("m"); Member findMember = queryFactory .select(m) .from(m) .where(m.username.eq("member1"))//파라미터 바인딩 처리 .fetchOne(); assertThat(findMember.getUsername()).isEqualTo("member1"); } - QMember는 querydsl 라이브러리 추가하고, 엔티티를 한번 빌드하면 생긴다. (별칭은 jpql에서 사용할 별칭 -> 내부..