当前位置: 首页 > 知识库问答 >
问题:

如何使用JPA调用firebird可选存储过程?

万俟炯
2023-03-14

我正在尝试使用JPA调用一个Firebird可选过程。该方法如下所示:

 public void addLineToBrokerReport(Map<String, Object> parametersForAddDealsProc) {

        MapUtils.debugPrint(System.out, "Parameters for procedure", parametersForAddDealsProc);

        String q = "select a.dol as id, a.out$error_code as error_code " +
            "from ADD_LINE (:IN$DOC," +
            ":IN$SHARE, " +
            ":IN$B_ACC, " +
            ":IN$S_ACC, " +
            ":IN$COMMENT) a";

      Query query = em.createNamedQuery(q, CallProcedureResult.class);
       for (Map.Entry<String, Object> entry : parametersForAddDealsProc.entrySet()) {
           query.setParameter("\"" + entry.getKey()+ "\"", entry.getValue());
        }
        CallProcedureResult result = (CallProcedureResult) query.getSingleResult();
        LOG.info("Error_code = " + result.getError_code()  + " dol = " + result.getId());

    }
  • 是否可以使用JPA调用firebird选择过程?
  • 如果方法中有query query=em.CreateNamedQuery(q,CallProcedureResult.Class);,为什么“找不到命名查询”?

共有1个答案

尹正奇
2023-03-14

em.createNamedQuery第一个参数应该是NamedQuery的名称(而不是JPQL)。namedquery本身应该在注释或XML中定义,并根据它指定名称。此外,如果您打算直接调用SQL(而不是JPQL),则需要一个namedNativeQuery,用于本机查询。

JPA2.1支持存储过程;我不知道这是否适用于调用火鸟的东西,但你也可以试试

 类似资料:
  • 问题内容: 我们如何使用Hibernate或JPA调用存储过程? 问题答案: 您可以执行以下操作 请在需要的地方添加异常处理。

  • 问题内容: 我正在编写一个简单的Web应用程序以调用存储过程并检索一些数据。它是一个非常简单的应用程序,可以与客户的数据库进行交互。我们传递员工ID和公司ID,存储过程将返回员工详细信息。 Web应用程序无法更新/删除数据,并且正在使用SQL Server。 我正在Jboss AS中部署Web应用程序。我应该使用JPA访问存储过程还是。在这种情况下使用JPA的任何优势。 调用该存储过程的sql语句

  • 下面是我的Oracle存储过程, 我得到以下异常:hibernate:{CALL REPORT_HIBERNATE(?)}org.hibernate.exception.GenericJDBcException:无法执行查询...并且由:java.sql.sqlException:无效的列索引引起 Plz让我知道在Spring中我将如何使用Hibernate注释调用这个存储过程??

  • 我阅读了如何在JPA中调用mysql存储过程 调用存储过程jpa 但是我的程序api没有输出passe! 如何在spring数据jpa中调用它并返回结果 Java实体 我的回购 还有我的测试 out p6间谍通话没问题!但在日志中 16:26:30[INFO][main] [] [] LocalContainerEntityManagerFactoryBean:初始化的JPA EntityMana

  • 问题内容: 假设我有一个MySQL存储过程,其中包含以下选择: 如何在中使用注释,以便获得结果?就像是: 问题答案: 假设这是您的过程: 您定义一个: 然后您可以像这样调用过程: 您也可以使用EntityManager进行检查,如下所示:

  • 我想知道是否可以使用Spring数据JPA调用存储过程,它具有resultset和multiple out参数。 我发现了相同https://github.com/spring-projects/spring-data-examples/issues/80的Git问题 如果问题解决了,有人能举一个Spring Boot的例子吗?