栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Hibernate Criteria中将日期转换为字符串

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Hibernate Criteria中将日期转换为字符串

我遇到了同样的问题,这是我做的:

首先,我创建了自己的Criterion实现:

public class DateLikeexpression implements Criterion {private static final long serialVersionUID = 1L;private String propertyName;private String value;public DateLikeexpression(String propertyName, String value) {    this.propertyName = propertyName;    this.value = value;}public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException {    String[] columns = criteriaQuery.getColumnsUsingProjection(criteria, propertyName);    if (columns.length != 1) {        throw new HibernateException("Like may only be used with single-column properties");    }    return "to_char(" + columns[0] + ", 'DD/MM/YYYY HH24:MI') like ?";}public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException {    return new TypedValue[] { new TypedValue(new org.hibernate.type.StringType(), MatchMode.START.toMatchString(value.toLowerCase()), EntityMode.POJO) };}}

然后,当我将条件放在一起时,我就用它:

criteria.add(new DateLikeexpression("dateColumnName", "26/11%"));

就是这样。请注意,此实现 是与
语言环境相关的(在这种情况下为pt_BR),并且适用于具有to_char函数的postgresql。您可能需要稍微调整一下才能使用数据库引擎。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406169.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号