hibernate createSQLQuery的问题

问题描述

数据库的字段sql查询结果是2013-6-21 0:54:00 但代码返回的是2013-6-21,后面的时分秒无故消失。我的代码:select m_apiendtime from bd_match where m_expect=? and m_apiendtime>sysdate-5/24/60 group by m_apiendtime order by m_apiendtime查询方法public List<Object> executeListRowNumBySql(final String queryString, final int start, final int limit, final Object... values){return getHibernateTemplate().executeFind(new HibernateCallback(){public Object doInHibernate(Session arg0) throws HibernateException, SQLException{Query query = arg0.createSQLQuery(queryString);if (values != null){for (int i = 0; i < values.length; i++){query.setParameter(i, values[i]);}}query.setFirstResult(start);query.setMaxResults(limit);return query.list();}});}实体采用jpa 字段是date类型 oracle字段也是date

解决方案

建议你强制指定 类型:@Temporal(TemporalType.TIMESTAMP) private Date sendDate; 如果不行再探讨JDK BUG吗? 混乱的日期API
解决方案二:
【父类】java.util.Date日期格式为:年月日时分秒 【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] 【子类】java.sql.Time日期格式为:时分秒 【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
解决方案三:
是不是java.util.Date和java.sql.Date的区别?

时间: 2024-11-05 12:12:54

hibernate createSQLQuery的问题的相关文章

用hibernate createSQLQuery执行原生sql总是出问题.

问题描述 方法:publicListquerySql(Stringsql){//hql风格//Stringsql="selecttableClassA.filed1fromtableClassAunionselecttableClassB.filed1fromtableClassB"//hql风格//Stringsql="selectnewmap(tableClassA.filed1)fromtableClassAunionselectnewmap(tableClassB.f

Hibernate createSQLQuery() 得到List问题

问题描述 List(实体)list=session.createSQLQuery(sql).addEntity(实体.class).list();实体里的字段是通过注解与数据库字段对应的,但有几个字段没有与数据库字段对应@Transient,得到的List中@Transient标注的字段乜有值.求解. 解决方案 解决方案二:数据库有没有这个字段?解决方案三:没有那几个字段,是为了需求在实体里加的.解决方案四:实体po有没有实现序列化接口?解决方案五:恩是用注解写的.解决方案六:是不是成员变量的默

中文查询失败-hibernate session.createSQLQuery 模糊查询失败

问题描述 hibernate session.createSQLQuery 模糊查询失败 Hibernate: SELECT * from court where is_delete=0 and name like '%成成%' limit ? 将上面的SQL放到工具上面可以执行成功,但是hibernate查询不到数据. 如果我将高尔夫换成英文或者数字就可以查询成功,网上很多人都说是乱码照成的,但是我的SQL显示的不是乱码.请问有谁知道什么原因,并且如何解决. hibernate 版本4.3.5

关于hibernate的createSQLQuery会修改数据库数据的问题

问题描述 本人需要从oracle数据库的A表和B表中提取数据,A表在java中的对象为A类,B表在java中的对象为B类,代码如下:Stringsql="selecta.*,b.*froma,bwherea.xx=b.xx";SQLQueryquery=getSession().createSQLQuery(sql).addEntity(A.class).addEntity(B.class);List<Object[]>list=query.list();for(intj=

hibernate 中使用原生sql createSQLQuery 的问题

问题描述 publicList<Object[]>getSqlExecute(finalStringsql){return(List)this.getHibernateTemplate().execute(newHibernateCallback(){publicObjectdoInHibernate(Sessionsession){Listlist=null;try{list=session.createSQLQuery(sql).list();}catch(HibernateExcepti

Hibernate本地SQL查询SQLQuery

使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.最简单的情况下,我们可以采用以下形式: Listcats = sess.createSQLQuery("select*fromcats").addEntity(Cat.class).list(); 这个查询指定了:SQL查询字符串和查询返回的实体. 这里,结果集字段名被假设为与映射文件中指明的字段名相同.对于连接了多个表的查询,这就可能

小结Hibernate的查询方式

1. get() and load() session.get(Clazz, id); session.load(Clazz, id); 说明: load()与get()的区别 请注意如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常(unrecoverable exception). 如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用该代理的某方法时才会去访问数据库. 若你希望在某对象中创建一个指向另一个对象的关联,又不想在从数据库中装载该

ssh-SSH整合,hibernate注解配置,无hbm.xml,映射出现问题

问题描述 SSH整合,hibernate注解配置,无hbm.xml,映射出现问题 java实体类代码: package cn.com.car.base.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; i

我的hibernate学习笔记(之三)

 五.Hibernate 主键策略( 上面的步骤三的一部分)       <id><generator class="主键策略" /></id>       主键:在关系数据库中,主键用来标识记录并保证每条记录的唯一性( 一般可保证全数据库唯一) .必须满足以下条件:          1)不允许为空.          2)不允许主键值重复.          3)主键值不允许改变.      1.自然主键:以有业务含义的字段为主键,称为自然主键.