【问题标题】:How to use a Oracle function for the ID in Hibernate如何在 Hibernate 中为 ID 使用 Oracle 函数
【发布时间】:2010-09-23 11:05:20
【问题描述】:

直到最近,我们还使用 Oracle 序列来生成表的 ID。现在已更改,现在由 Oracle 函数计算新 ID。这意味着我的应用程序需要进行更改以适应新情况。该应用程序是一个 Spring/Hibernate webApp,它访问 Oracle 数据库。这是在 hbm.xml 中配置的,如下所示:

<class name="TableHib" table="TABLENAME" >
    <id name="Id" type="java.lang.Long">
        <column name="ID" precision="22" scale="0" />
        <generator class="sequence">
            <param name="sequence">SEQTABLE</param>
        </generator>
    </id>

问题当然是:使用Oracle函数的结果作为ID的新值的解决方案是什么?

非常感谢您的帮助,在此先感谢。

【问题讨论】:

  • 嗯...序列的存在是有原因的。为什么要用函数替换它们的功能,该函数有什么作用?

标签: java oracle hibernate sequences


【解决方案1】:

你能写一个Java类来获取Oracle函数的值吗?如果是这样,您应该能够将该 Java 类定义为您的 &lt;generator class&gt;

编辑:要从 Java 调用 Oracle 函数,看看这是否适合您: Call Java Oracle Functions From Java program 并查看Java CallableStatement API

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 2011-01-10
    • 2011-04-18
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2018-04-23
    • 2012-03-02
    相关资源
    最近更新 更多