Java JPA和Postgres生成_系列
我对JPA有意见。我从以下内容开始(我已将查询简化为导致错误的片段): 和“未设置所有命名参数”错误。我发现我应该把它改成这样:Java JPA和Postgres生成_系列,java,hibernate,postgresql,jpa,generate-series,Java,Hibernate,Postgresql,Jpa,Generate Series,我对JPA有意见。我从以下内容开始(我已将查询简化为导致错误的片段): 和“未设置所有命名参数”错误。我发现我应该把它改成这样: entityManager.createNativeQuery("select * from generate_series (date :from, :to, '1 day') as dt")... 或 我还尝试了位置参数: entityManager.createNativeQuery("select * from generate_series (cast (
entityManager.createNativeQuery("select * from generate_series (date :from, :to, '1 day') as dt")...
或
我还尝试了位置参数:
entityManager.createNativeQuery("select * from generate_series (cast (?1 as date), ?2, '1 day') as dt")...
不幸的是,这没有帮助。我想问一些关于如何解决这个问题的建议。我使用Hibernate。很抱歉没有响应。我改为位置参数,日期改为时间戳,我的ide(IntelliJ IDEA)仍然显示一个错误“无法解析查询参数”,但当我在服务器上部署它时,它的工作就完成了
entityManager.createNativeQuery("select * from generate_series(cast (?1 as TIMESTAMP), cast(?2 as TIMESTAMP), '1 day'").setParameter(1, from).setParameter(2, to).getResultList();
我很抱歉没有回应。我改为位置参数,日期改为时间戳,我的ide(IntelliJ IDEA)仍然显示一个错误“无法解析查询参数”,但当我在服务器上部署它时,它的工作就完成了
entityManager.createNativeQuery("select * from generate_series(cast (?1 as TIMESTAMP), cast(?2 as TIMESTAMP), '1 day'").setParameter(1, from).setParameter(2, to).getResultList();
JPA本机查询仅支持位置参数。JPA实现不保证支持任何命名参数。感谢您的回答,我忘了提及,但我尝试使用位置参数,但这也不起作用。因此,请使用位置参数更新您的问题,并定义在这种情况下“不起作用”的内容,也许还要提到哪个JPA实现,因为这种行为显然依赖于实现。直到没有说明使用位置参数时发生了什么……JPA本机查询只支持位置参数。JPA实现不保证支持任何命名参数。感谢您的回答,我忘了提及,但我尝试使用位置参数,但这也不起作用。因此,请使用位置参数更新您的问题,并定义在这种情况下“不起作用”的内容,也许要提到哪个JPA实现,因为这种行为显然依赖于实现,直到没有说明使用位置参数时发生了什么。。。
entityManager.createNativeQuery("select * from generate_series(cast (?1 as TIMESTAMP), cast(?2 as TIMESTAMP), '1 day'").setParameter(1, from).setParameter(2, to).getResultList();