【问题标题】:named stored procedure query Collection parameter?命名存储过程查询集合参数?
【发布时间】:2015-02-04 11:14:39
【问题描述】:

我正在使用 JPA-2.1 并想要一个存储过程并以 Collection 作为参数。这可能吗?

<named-stored-procedure-query name="myProc"
        procedure-name="my_proc">
    <parameter name="i_collection" class="Collection" mode="IN">
    </parameter>
</named-stored-procedure-query>

通过上面我得到一个java.lang.ClassNotFoundException

如果没有,关于类属性允许什么的文档在哪里?

【问题讨论】:

  • 那么当你把“java.util.Collection”作为类(因为默认包中没有类Collection)时,会发生什么?并且在发布异常时,堆栈跟踪可能会有一些用处
  • 我按照你的建议做了,它修复了异常,但现在我得到了一个新异常:内部异常:java.sql.SQLException:无效的列类型
  • 这反过来意味着一些 SQL 已经被执行,那么什么 SQL,也许你可以从中看到一些与列使用有关的错误
  • 存储过程只将集合中的元素连接成一个varchar2。我猜错误的列是指 ORACLE VARRAY 的过程参数的类型。

标签: java jpa stored-procedures jpa-2.1


【解决方案1】:

我设法使用 EclipseLink 特定的 org.eclipse.persistence.queries.StoredProcedureCall 来做到这一点

另请参阅: http://wiki.eclipse.org/EclipseLink/Examples/JPA/StoredProcedures#PLSQLStoredProcedureCall_-_Complex_data

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 2020-02-11
    • 1970-01-01
    • 2014-05-10
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多