Ric*_*ber 7 c# oracle nhibernate stored-procedures
我有一个遗留的Oracle(10.2g)数据库,我正在连接,我想使用NHibernate(2.0.1)从存储过程中返回对象.有问题的存储过程使用SYS_REFCURSOR返回结果.根据该文件,这应该是可行的,但我已经发现了几个 帖子暗示,否则在互联网上.
这是我的释义代码:
映射文件:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="OracleStoredProcedures" namespace="OracleStoredProcedures">
<class name="Person" mutable="false">
<id name="PersonCode" type="AnsiString" column="PERSONCODE">
<generator class="assigned" />
</id>
<property name="Name" type="String" column="PERSON_NAME" />
<property name="Surname" type="String" column="PERSON_SURNAME" />
</class>
<sql-query name="getpeople">
<return class="Person" />
EXEC RS_DB.GETPERSONTEST
</sql-query>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
存储过程:
CREATE OR REPLACE PROCEDURE RS_DB.GETPERSONTEST (
io_cursor IN OUT sys_refcursor
)
IS
BEGIN
OPEN io_cursor FOR
SELECT PERSONCODE, PERSON_NAME, PERSON_SURNAME
FROM PEOPLE
END GETPERSONTEST;
Run Code Online (Sandbox Code Playgroud)
据我记得这是几年前我在使用 oracle 时发现的一个错误,我在 NH tracker 中追踪到了这个问题并在 2.1.1GA 版本上修复了;您能确认这与您遇到的问题相同吗? https://nhibernate.jira.com/browse/NH-847
| 归档时间: |
|
| 查看次数: |
6267 次 |
| 最近记录: |