본문 바로가기

QueryDSL2

[JPA] - Querydsl 스프링부트3.x 설정 방법 그레이들에 위와 같이 의존성을 추가해준다. 버전은 하드코딩해도 되지만 아래처럼 사용한다. def queryDslVersion = '5.0.0' Querydsl은 어노테이션 프로세서가 엔티티(Entity) 코드를 토대로 Q도메인 클래스를 생성해주는 방식이다. 따라서 컴파일을 해야만 Q도메인 객체를 얻어 사용할 수 있다. compileJava 태스크를 수행하면 소스코드가 [build] - [classes] 디렉토리에 생성된다. 이렇게 생성시키고 나야만 비로소 Q도메인 객체를 사용할 수 있게 된다. 자신의 src 디렉토리 내에 Q도메인 객체 코드를 가져올 수도 있는데, 난 그렇게 해야 하는 이유를 잘 모르겠다. 그래서 어노테이션 프로세서에 등록하여 Q도메인 객체를 import 할 수 있는 정도로 만족하며, 이.. 2024. 1. 20.
[JPA] - 자바 진영의 데이터베이스 처리 기술 발전 1. JPA와 Mybatis의 차이 1) JDBC의 문제는 무엇인가 우선 자바 애플리케이션이 내부적으로 데이터베이스와 상호 작용이 필요할 때, 사용할 수 있는 기술은 크게 보면 JDBC, MyBatis, JPA(with QueryDSL) 등이 있다는 점을 기억하자. 그리고 MyBatis와 JPA는 모두 JDBC의 단점을 해소하기 위해 사용되는 기술이라는 점도! 결국 JPA와 MyBatis를 이해하기 위해서는 JDBC의 단점이 무엇인지 아는 것으로 시작해야 한다. 자바 애플리케이션은, 특히 백엔드라면, 애플리케이션 로직에 따라 DB를 활용해야 하는 순간이 반드시 오기 마련이다. 그때 데이터베이스 상호작용의 상세 사항을 숨기고(정보 은닉), 적절한 캡슐화를 통해 자바 애플리케이션 입장에서는 자바 인터페이스에.. 2024. 1. 9.