簡體   English   中英

Java日期間隔中的動態查詢

[英]Dynamic Query in Java date interval

我使用Liferay 6.2,嘗試使用DynamicQuery選擇元素。

我有一個包含startDateendDate列的模型Event

ClassLoader cl = Event.class.getClassLoader();
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Event.class, cl);

我想查詢選擇startDateendDate之間的表的行。

我該怎么做?

你知道那個功能

  • Property.lt(Object)表示低於
  • Property.le(Object)表示更低或等於的值
  • Property.gt(Object)表示大於和,
  • Property.ge(Object)表示等於或大於

您可以按以下方式使用此知識:

Date startDate = ...;
Date endDate = ...;
DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Event.class, Event.class.getClassLoader());
Property startDateProperty = PropertyFactoryUtil.forName("startDate");
Property endDateProperty = PropertyFactoryUtil.forName("endDate");
dynamicQuery.add(startDateProperty.ge(startDate));
dynamicQuery.add(endDateProperty.le(endDate));

這將查找所有事件,這些事件完全在給定的startDateendDate 如果要查找以某種方式給定日期范圍重疊的所有事件,則需要這樣做:

dynamicQuery.add(startDateProperty.lt(endDate));
dynamicQuery.add(endDateProperty.gt(startDate));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM