如何在 Hibernate 中使用 Oracle 函数获取 ID
直到最近,我们还使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你能编写一个可以获取 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