0

hsqldbとJPA/Hibernateを使用してアプリケーションを開発しました。クライアントの要求に応じて、アプリケーションの開始日までのデータを取得できるように、(ファイルのアップロードを介して)基本的なデータ入力を行うことを望んでいました。そして、私たちもそうしました。

ここで問題となるのは、クライアント側にアプリケーションをインストールしたときに、マスターデータ(トランザクションデータも)を追加できなかったことです。データを追加しているときに、hibernateがorg.hibernate.exception.ConstraintViolationExceptionを発生させることがわかりました。これは、1から値の挿入を開始するためです。

そこで、GeneratorValueフィールドをAutoで設定しました。(@GeneratedValue(strategy = GenerationType.AUTO))。

さらに詳しい情報が必要な場合は、お知らせください。どんな助けでも大歓迎です。(私はグーグルで検索しましたが、これまでのところ具体的な答えは見つかりませんでした)

前もって感謝します。

4

1 に答える 1

0

最適なソリューションはsequence、データベースで を定義することです。Hibernate マッピングでシーケンス ジェネレーターを使用します。Id属性を手動で設定しないでください。休止状態に任せてください。一意の制約が与えられることはありません。

custom generatorまた、使用する一意の ID を取得するために小さなロジックを定義して記述しようとしています。

于 2012-10-14T15:30:11.893 に答える