Hibernate jpql异常ORA-00932:不一致的数据类型:预期的二进制获取日期
我编写了以下jpql 从emp e中选择e.name,其中e.date=nvl:date,从emp e中选择maxdate,其中e.id=1 因此,从服务中,我将调用上面的jpql。 当我从服务传递日期值时,它应该使用给定的日期值运行jpql。如果我没有传递任何日期值,那么jpql应该使用maxdate运行 但获取不一致数据类型的异常 请帮忙 意见: 如果我将查询更改为:Hibernate jpql异常ORA-00932:不一致的数据类型:预期的二进制获取日期,hibernate,jpa,spring-data-jpa,hql,jpql,Hibernate,Jpa,Spring Data Jpa,Hql,Jpql,我编写了以下jpql 从emp e中选择e.name,其中e.date=nvl:date,从emp e中选择maxdate,其中e.id=1 因此,从服务中,我将调用上面的jpql。 当我从服务传递日期值时,它应该使用给定的日期值运行jpql。如果我没有传递任何日期值,那么jpql应该使用maxdate运行 但获取不一致数据类型的异常 请帮忙 意见: 如果我将查询更改为: select e.name from emp e where e.date = :date 它运转良好。。但是当我使用n
select e.name from emp e where e.date = :date
它运转良好。。但是当我使用nvl函数时,我得到了这个错误。select和max之间缺少空格-这是一个输入错误吗?你是如何传递参数的?您能在问题中包含java代码吗?是的,这是一个输入错误。@queryselect e.name from emp e其中e.date=nvl:date,select maxdate from emp e其中e.id=1findemp@param这就是我的回购协议的日期。在服务层中,我将使用下面的代码findemp2012-12-12,但2012-12-12是一个字符串-您是否从中解析日期对象?否则,您的代码看起来很好。试着安慰一下,这可能会提供一些线索。