본문 바로가기
728x90
반응형
SMALL

IT/JPA7

QueryDSL select specific columns SELECT all columns private final QDoc doc = QDoc.doc; @Override public List findAll(DocSearch search) { return from(doc) .where( eqState(search.getStat()), eqElucidatorDept(search.getEqDeptName()), ... likeElucidator(search.getElucidator()), likeElucidatorDept(search.getDeptName()) ).fetch(); ) ​ Select specific columns (using Tuple) @Override public List findAllForDashboard(DocSearch search) { .. 2020. 8. 25.
LocalDate, LocalTime JPA Timezone 문제 Java8 이전에는 Date 에 대해서 대응하는 것이 다소 허접했다. 물론 Joda-Time (https://www.joda.org/joda-time/) 이 있었지만 그래도... 이렇게나 많이 쓰이고 있는 Language 에서 Date, Time 을 다루는 객체가 너무 허접했다. Java8 에서 LocalDate, LocalTime, LocalDateTime 등이 나오면서 매우 편리해 졌다. ​Spring Boot 와 JPA 를 사용하면서 도메인 모델에 맞는 제대로 된 Type 을 사용하게 되면서 LocalDate 와 LocalTime 을 구분해서 많이 사용한다. 새로운 API 개발 및 테스트를 진행하다가 이상한 문제에 맞닥뜨렸다. ​Entity 의 일부 내용 중 적용기간과 적용시간에 대해서 아래와 같이.. 2020. 3. 25.
[JPA] null value was assigned to a property of primitive type setter of [문제] - JPA를 통해 Insert 시 set 하지 않은 변수에 대해서는 Null 로 Insert 가 됨 - JPA를 통해 조회 시 int 형 변수에 대해서 NULL 값을 set 할 수 없다는 오류 발생 - Table Script 를 수정하여 NOT NULL DEFAULT 0 으로 속성 변경, 변수에도 @ColumnDefault(value = "0") 속성 추가 - JPA를 통해 Insert 시 set 하지 않은 변수에 대해서 Null 로 Insert 를 시도하기 때문에 Insert 시 오류 (Not Null) [해결] - 방법1. @PrePersist Annotation 이용 Entity Manager에서 persist 하기 바로 직전에 수행시킬 수 있는 method 정의 가능 @PrePersist.. 2019. 11. 14.
Spring Data JPA + QueryDsl 2019/09/06 - [IT/JPA] - JPQL, NativeSQL, Criteria, QueryDSL, JOOQ... 에서 살펴 본 것 처럼 Spring Data JPA 만으로는 복잡한 구조의 어플리케이션을 구성하는데 한계가 있다. QueryDsl 을 사용하는 방법을 간단하게 정리 해 본다. 먼저 pom.xml 에 아래 dependency를 추가 한다. com.querydsl querydsl-jpa com.querydsl querydsl-apt org.springframework.boot spring-boot-maven-plugin com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.. 2019. 9. 9.
728x90
반응형
LIST