如何使用Hibernate / jpa调用包内的过程?

时间:2018-10-31 14:35:11

标签: hibernate jpa stored-procedures package

考虑一下,我在oracle数据库的软件包订单中有一个名为getOrders的过程。我想调用getOrders过程。

下面是我的实体类的摘录:

@NamedStoredProcedureQuery(
        name = "getOrders",
        procedureName = "Orders.getOrders", 
        parameters = {
            @StoredProcedureParameter(name = "param1", mode = ParameterMode.IN, type = Integer.class),
            @StoredProcedureParameter(name = "param2", mode = ParameterMode.IN, type = Integer.class),
            @StoredProcedureParameter(name = "out_sqlerr", mode = ParameterMode.OUT, type = String.class),
            @StoredProcedureParameter(name = "out_curs", mode = ParameterMode.REF_CURSOR, type = void.class), 
        }
)

下面是DAO的摘录:

Session session = entityManagerFactory.unwrap(SessionFactory.class).openSession();
return session.getNamedProcedureCall("getOrders").setParameter("Param1",value).setParameter("param2", value).getResultList();

以下是错误:

  

java.sql.SQLSyntaxErrorException:ORA-00942:表或视图不存在
          ORA-06512:位于“ SchemaName.Orders”的第82行
          ORA-06512:在第1行上

请问有人可以帮助我摆脱困境吗?

0 个答案:

没有答案