Hibernate CreateNativeQuery返回空列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate CreateNativeQuery返回空列表相关的知识,希望对你有一定的参考价值。

我在我的项目中使用Hibernate和JPA。我使用下面的代码返回对象列表但是当我在mysql中使用sql时它返回空列表它正常工作。

Query query=entityManager.createNativeQuery("select tools.* from tools where (SELECT DATEDIFF(:user_date,calibDate) AS DiffDate) < :diff",Tools.class);
    query.setParameter("user_date",userDate);
    query.setParameter("diff",day);
    return query.getResultList();

任何人都可以帮助发现什么是错的?

答案

您的查询应如下所示:

Query query=entityManager.createNativeQuery("select tools.* from tools where (SELECT DATEDIFF(:user_date,calibDate) AS DiffDate) < :diff",Tools.class);
    query.setParameter("user_date",userDate, TemporalType.DATE);
    query.setParameter("diff",day);
    return query.getResultList();

应将TemporalType.DATE添加到'user_date'参数中

以上是关于Hibernate CreateNativeQuery返回空列表的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate→ 《Hibernate程序开发》教材大纲

hibernate问题

Spring和Hibernate的注解整合 hibernate3和hibernate4/5的区别

hibernate.merge()方法怎么用

hibernate 异常 怎么解决

Hibernate之Hibernate环境配置