본문 바로가기

QueryDSL4

QueryDsl Mysql DATE_ADD, ADDDATE DATA _ADD, ADDDATE Mysql의 Function 사용 시작하기 전에 먼저 이야기 하지면, INTERVAL 이란 예약어 때문에 하이버네이트에서는 사용 할 수가 없다. DATA_ADD 에서 INTERVAL 을 쓰면 구문을 해석 할수 없다고하는 오류를 볼 수 있다. MYSQL 에서는 ADDDATE라는 것이 있는데 해당 펑션을 이용해서 날짜를 더할때 사용 하도록 한다. Expressions 사용 표현식을 이용하여 내부 Function을 사용한다. // DateOperation Expressions.dateOperation(Date.class, DateTimeOps.ADD_DAYS,qCampaignEntity.endTime,Expressions.asNumber(1)); // DateTemplate .. 2020. 5. 26.
QueryDSL Null 인경우 다른 값으로 채우기 coalesce (IFNULL) Null 인경우 다른 값으로 채우기 coalesce (IFNULL) asDate의 값이 없을경우 criteriaDate 의 값으로 대체 한다. qCampaignEntity.startTime.coalesce(criteriaDate).asDate() LocalDate localDate = LocalDate.now(); Date criteriaDate = DateUtils.convertStringToDate(localDate.toString(), CalendarPattermn.CALENDER_TYPE_YYYY_MM_DD); whereBuilder.and(qCampaignEntity.startTime.coalesce(criteriaDate).asDate().loe(criteriaDate) 2020. 4. 8.
QueryDsl Mysql DATE_ADD, ADDDATE DATA _ADD, ADDDATE Mysql의 Function 사용 시작하기 전에 먼저 이야기 하지면, INTERVAL 이란 예약어 때문에 하이버네이트에서는 사용 할 수가 없다. DATA_ADD 에서 INTERVAL 을 쓰면 구문을 해석 할수 없다고하는 오류를 볼 수 있다. MYSQL 에서는 ADDDATE라는 것이 있는데 해당 펑션을 이용해서 날짜를 더할때 사용 하도록 한다. Expressions 사용 표현식을 이용하여 내부 Function을 사용한다. // DateOperation Expressions.dateOperation(Date.class, DateTimeOps.ADD_DAYS,qCampaignEntity.endTime,Expressions.asNumber(1)); // DateTemplate .. 2020. 4. 8.
QueryDSL paging (JPAQuery / Hibernate) 단순하게 CRUD기능을 구현하기 위해 생각보다 많은 자원을 투자했다,그런 단순작업이 지겨워진? 분들은 Spring Data JPA를 찾아 단순한 CRUD의 작업을 더욱더 단순화하여 쉽게 사용하시게 되는데이는 단순히 JPA 하나만으로 되는 기능이 아니라 Hibernate와 함께 동작되는 것으로 Hibernate 내용도 숙지해야 한다. 간단하게 CRUD 할때는 문제가 없지만.복잡하게 얼힌 데이터들의 내용을 불러오기 위해서는 JOIN이 필요하다.사실 이내용도 master Key와 엮여 있는 Entity들을 설정에서 레이지로딩, Eager 로딩으로(정책에 따라 다르지만)할수있다. 하지만!! 조회 할때는...? 그렇다... 이때는 Criteria, QueryDSL, JPQL을 이용하야 할것이다.헌데 Criteri.. 2016. 1. 17.