我在我的项目中使用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'参数中