Java 如何在Hibernate中为ID使用Oracle函数

Java 如何在Hibernate中为ID使用Oracle函数,java,oracle,hibernate,sequences,Java,Oracle,Hibernate,Sequences,直到最近,我们还使用Oracle序列生成表的ID。这一点现在已更改,新ID现在由Oracle函数计算。这意味着我的申请需要改变以适应新的形势。该应用程序是一个Spring/Hibernate webApp,可以访问Oracle数据库。这是在hbm.xml中配置的,如下所示: <class name="TableHib" table="TABLENAME" > <id name="Id" type="java.lang.Long"> <colu

直到最近,我们还使用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的新值的解决方案是什么


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

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

编辑:要从Java调用Oracle函数,请查看此操作是否适用:
请看

嗯。。。序列的存在是有原因的。为什么要用一个函数替换它们的功能?该函数做什么?