1
只是出于好奇,什么是实现这个使用Hibernate休眠等同于TIMESTAMP查询
select *
from USERS
where TO_CHAR(CREATE_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF') = '1972- 07-31 13:52:50.381000'
只是出于好奇,什么是实现这个使用Hibernate休眠等同于TIMESTAMP查询
select *
from USERS
where TO_CHAR(CREATE_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF') = '1972- 07-31 13:52:50.381000'
Date date = dateFormat.parse("1972-07-31 13:52:50.381");
String hql = "select u from User u where u.createTimestamp = :timestamp";
return session.createQuery(hql).setTimestamp("timestamp", date).list();
我用的是标准API的最佳方式: 刚刚发布后,我得到它的工作如下:
Criteria criteria = getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(User.class);
criteria.add(Restrictions.sqlRestriction("TO_CHAR(CREATE_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF')='1972-07-31 13:52:50.381000'"));
谢谢Nizet,我得到它使用Criteria API本身 – user1132593
而且解决方案将完全相同。您使用Java创建日期,并将'Restrictions.eq(“user.createTimestamp”,timestamp)'添加到条件中。 –
db中的值是'1972-07-31 13:52:50.381000',所以只使用'1972-07-31 13:52:50.381'将不能用于等号子句? – user1132593