5
두 날짜를 비교할 수 있어야합니다. 예를 들어 일과 월을 기준으로 비교할 수 있어야합니다 (예 : 통보없이). JAVA 및 HQL.년을 기준으로 두 날짜를 비교합니다. 하루를 통보하지 않습니다.
d1
이 d2
보다 작거나 같은지 확인해야한다고 가정 해 봅시다. 알고리즘은 위의 코드의 두 조각 동일
JAVA
calendar.setTime(d1);
int y1 = calendar.get(Calendar.YEAR);
int m1 = calendar.get(Calendar.MONTH);
calendar.setTime(d2);
int y2 = calendar.get(Calendar.YEAR);
int m2 = calendar.get(Calendar.MONTH);
return y1 <= y2 && m1 <= m2;
HQL
select item from Item item
where year(item.d1) <= year(:d2)
and month(item.d1) <= month(:d2)
하지만 잘못 : 여기에 내가 뭘하려
2011-10 LTE 2012-09
true
을 반환해야하지만이므로false
을 반환합니다. 064,903,210하지만
10 !< 09
내가 대신 AND
의 OR
를 사용하는 경우, 그것은 여전히 잘못 :
2013-01 LTE 2012-05
이false
를 반환해야하지만 돌아갑니다true
2013 !< 2012
있기 때문에 그래서
01 < 05
방법 처리해야합니까? 제발, 나는 자바와 HQL을 위해 그것을 필요로한다.
물론 사람이 맞습니다! 감사합니다';)' – sp00m