我一直在考虑它,我开始怀疑这是否可能。
用户视角:有一个数据表,其中一列包含一个日期。用户可以输入搜索词,例如dec
并获取 12 月期间发生的所有行。
后端:一个 jqGrid 用于显示表格。它将输入的搜索词发送到服务器。服务器使用代码
Criteria cr = session.createCriteria( DetailedLogEntry.class );
Disjunction disjunction = Restrictions.disjunction();
MatchMode matchMode = MatchMode.ANYWHERE;
disjunction.add( Restrictions.ilike( searchKey.getField(), searchKey.getData(), matchMode ) );
cr.add( disjunction );
应用搜索词,其中DetailedLogEntry
包含一个Date
变量来表示数据库的TIMESTAMP
字段。
因为searchKey.getData()
返回一个字符串,所以将它与日期对象进行比较会产生一个空集。
所以我想问题是......是否有可能,最好是通过 Hibernate,对一个Date
对象应用一个限制,就好像它是一个字符串一样?