【问题标题】:Calling postgreSQL stored procedure from Hibernate从 Hibernate 调用 postgreSQL 存储过程
【发布时间】:2015-09-03 09:15:08
【问题描述】:

当我尝试从 Java - Hibernate 调用存储过程时。我收到以下错误。

org.hibernate.QueryException: Not all named parameters have been set:

和我的代码

Query query = session.createSQLQuery("select  commsrules.evalcommsrules(?::text,?::commsrules.t_commstype)");
                query.setString(0, in_query);
                query.setString(1, "TRIG");
        result = query.list();

我得到了以下异常

org.hibernate.QueryException: Not all named parameters have been set: [:text, :commsrules.t_commstype] [select  commsrules.evalcommsrules(?::text,?::commsrules.t_commstype)]
    at org.hibernate.internal.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:390)
    at org.hibernate.internal.SQLQueryImpl.verifyParameters(SQLQueryImpl.java:179)
    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:118)

请帮我解决这个问题

【问题讨论】:

    标签: java hibernate postgresql jdbc


    【解决方案1】:

    看起来它正在解析 :text 和另一个作为命名参数,即使您尝试使用位置参数。

    您可以修改查询以使用 CAST 而不是 :: 速记。

    【讨论】:

      猜你喜欢
      • 2016-01-05
      • 2023-03-05
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      相关资源
      最近更新 更多