Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Liferay 带日期条件的动态查询_Liferay_Criteria_Dynamicquery - Fatal编程技术网

Liferay 带日期条件的动态查询

Liferay 带日期条件的动态查询,liferay,criteria,dynamicquery,Liferay,Criteria,Dynamicquery,我正在尝试使用动态查询实现搜索查询 我创建了这样的动态查询 DynamicQuery dynamicQuery=DynamicQueryFactoryUtil.forClass(OrderSubscription.class,PortletClassLoaderUtil.getClassLoader()); DynamicQuery dynamicQueryCount=DynamicQueryFactoryUtil.forClass(OrderSubscription.class,Portlet

我正在尝试使用动态查询实现搜索查询 我创建了这样的动态查询

DynamicQuery dynamicQuery=DynamicQueryFactoryUtil.forClass(OrderSubscription.class,PortletClassLoaderUtil.getClassLoader());
DynamicQuery dynamicQueryCount=DynamicQueryFactoryUtil.forClass(OrderSubscription.class,PortletClassLoaderUtil.getClassLoader());

Criterion criterion = RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.ORDERNO, StringPool.PERCENT+searchKeyword+StringPool.PERCENT);
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.STATUS, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.ORDERDATE, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.PAYMENTSTATUS, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.ORDERSTATUS, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.ORDERID, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.PAYMENTTRANSACTIONTYPE, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.STARTDATE, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));
criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.CANCELDATE, StringPool.PERCENT+searchKeyword+StringPool.PERCENT));

dynamicQuery.add(junctionOR);
dynamicQueryCount.add(junctionOR);

List<OrderSubscription> orders = OrderSubscriptionLocalServiceUtil.dynamicQuery(dynamicQuery, start, end);
总结:

我想从数据库中获取基于搜索关键字的列表 和我的DB列类型id datetime

有人能帮我解决这个问题吗

谢谢
拉维·达吉(Ravi Darji)

我认为,问题是因为您正在为
Date
行设置
criteria=RestrictionsFactoryUtil.or(criteria,RestrictionsFactoryUtil.like(DBConstants.OrderSubscription.ORDERDATE,StringPool.PERCENT+searchKeyword+StringPool.PERCENT))参数不应该是
日期
对象吗?如果是,则考虑<代码>开始日期> />代码>代码>取消日期< /代码>。那么,什么类型的<代码> dBrimest.OrrordPosial.OrthDeals>代码>实际上是我从搜索字段中得到的关键字,因此它不能总是日期。我刚刚从API确认了方法
like
的第一个参数是
String
类型。首先,尝试删除包含日期参数的行并检查其是否有效,然后添加条件以检查
searchKeyword
是否是日期字符串,首先将其转换为
date
对象,然后传递给
like
方法。
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date
at org.hibernate.type.descriptor.java.JdbcTimestampTypeDescriptor.unwrap(JdbcTimestampTypeDescriptor.java:42)
at org.hibernate.type.descriptor.sql.TimestampTypeDescriptor$1.doBind(TimestampTypeDescriptor.java:53)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:91)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:283)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:278)
at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1873)
at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1844)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1716)
at org.hibernate.loader.Loader.doQuery(Loader.java:801)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2542)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:119)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1716)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:347)
at com.liferay.portal.dao.orm.hibernate.DynamicQueryImpl.list(DynamicQueryImpl.java:94)
at com.liferay.portal.dao.orm.hibernate.DynamicQueryImpl.list(DynamicQueryImpl.java:88)
at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.findWithDynamicQuery(BasePersistenceImpl.java:166)
... 148 more
Jan 08, 2016 6:39:51 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet ordermanagment Servlet threw exception