Hibernate:如何通过 Oracle 包程序将实体配置为 inserted/updated/deleted?

Hibernate: How configure entity to be inserted/updated/deleted through Oracle package procedures?

是否有可能(如果是,如何?)映射实体 class 从 table 获取,但是 inserted/updated/deleted 通过过程,而不是 INSERT/UPDATE/DELETE 这个 table?

实体配置通过 XML 完成,使用特定于 Oracle 的 classes/methods 即可。

您可以为 create/update/delete 操作映射自定义 SQL,因为 version 3.5

如果要通过常规SQL语句进行映射,只需在<sql-insert><sql-update><sql-delete>元素内正常写入SQL即可。

使用存储过程时,需要将其标记为可调用语句,并使用调用语法。请注意删除和更新所需的输出参数,返回删除的行数。

<class name="Person">
    <id name="id">
        <generator class="increment"/>
    </id>
    <property name="name" not-null="true"/>
    <sql-insert callable="true">{call createPerson (?, ?)}</sql-insert>
    <sql-delete callable="true">{? = call deletePerson (?)}</sql-delete>
    <sql-update callable="true">{? = call updatePerson (?, ?)}</sql-update>
</class>