0

最近まで、テーブルの ID を生成するために Oracle シーケンスを使用していました。これが変更され、新しい ID が Oracle 関数によって計算されるようになりました。これは、新しい状況に適応するためにアプリケーションを変更する必要があることを意味します。アプリケーションは、Oracle データベースにアクセスする Spring/Hibernate webApp です。これは、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>

質問はもちろん: ID の新しい値に Oracle 関数の結果を使用する解決策は何ですか?

事前に感謝します。

4

1 に答える 1

1

Oracle 関数の値を取得できる Java クラスを作成できますか? もしそうなら、あなたはそのJavaクラスをあなたの<generator class>

編集: Java から Oracle 関数を呼び出すには、これが機能するかどうかを確認してください: Java プログラムから Java Oracle 関数を呼び出し、 Java CallableStatement APIを参照してください。

于 2008-11-21T14:45:47.757 に答える