0

Sybase ASE データベースで休止状態 3.5 を使用しています。テーブル テーブルに主キー PK1 があります。主キーの生成には select ジェネレーター クラスを使用しました。

<id name="pk1" type="java.math.BigInteger">
            <column name="PK_ID" />
              <generator class="select">
                  <param name="key">unique</param>
              </generator>
</id>

PK_ID を外部キーとして使用するクラスがもう 1 つありますが、主キーとしては使用しません。

<property name="PK_ID1" type="java.math.BigInteger">
            <column name="SHIP_EVENT_ID" length="23" not-null="false" />
</property>

ID ジェネレーターを使用すると、これは正常に動作するように見えますが、ジェネレーターを選択するように変更すると、制約違反の例外が表示されますが、新しい値が生成され、2 番目のテーブルの pojo クラスに設定されます。

助けてください!

よろしく、ドワラック

4

1 に答える 1

0

バックエンドにASEのようなエンジンがある場合、いくつかのOOフロントエンドを使用してDDLの変更を行うことはお勧めできません。確かに、これはフロントエンドのバグですが、これだけではありません。さらに重要なのは、Sybaseの機能の約5%にしかアクセスできないことです。ASEに無料で付属しているSybaseClientsoftwarwを使用しないのはなぜですか。すべてのDDLおよび管理タスクにはSybaseCentral、すべてのSQLタスク(DML、ストアドプロシージャ、SQLのテスト)にはInteractiveSQL。それはより直接的であるだけでなく、開発時間もはるかに速くなります。オブジェクトを設定してテストしたら、それらのオブジェクトに対してコマンド(ストアドプロシージャまたはテスト済みSQL)を実行するために必要なフロントエンドを使用します。

于 2011-01-19T10:39:56.933 に答える