如何在 Hibernate 中使用 Oracle 函数获取 ID

发布于 2024-07-09 17:20:58 字数 579 浏览 10 评论 0原文

直到最近,我们还使用 Oracle 序列来生成表的 ID。 现在这种情况已经改变,新的 ID 现在由 Oracle 函数计算。 这意味着我的应用程序需要进行更改以适应新情况。 该应用程序是一个 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 的新值的解决方案是什么?

非常感谢您的帮助,提前致谢。

Until recently we used Oracle sequences to generate the IDs of a table. This is now changed, a new ID is now calculated by an Oracle function. Which means that my application needs a change to adept to the new situation. The application is a Spring/Hibernate webApp, which access the Oracle database. This was configured in an hbm.xml as follows:

<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>

Question is of course: what is a solution to use the result of Oracle function for the new value of the ID?

Help is much appreciated, thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十年不长 2024-07-16 17:20:58

你能编写一个可以获取 Oracle 函数值的 Java 类吗? 如果是这样,您应该能够将该 Java 类定义为

编辑: 要从 Java 调用 Oracle 函数,请查看这是否适合您:
从 Java 程序调用 Java Oracle 函数< /a> 并查看 Java CallableStatement API< /a>

Can you write a Java class that can fetch the value of the Oracle function? If so, you should be able to define that Java class as your <generator class>

Edit: To call an Oracle function from Java, see if this works for you:
Call Java Oracle Functions From Java program and see the Java CallableStatement API

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文