1

Hibernate は (私の意見では ;)) および oracle DB のフィールドでは正しく動作しないため@Column(nullable = false, unique = true)、これを使用して Hibernate の動作を変更したいと考えています。

問題は、一意の制約のみが適用され、not null 制約が適用されないことです。これは、オラクルがアプリケーションでエラーにつながる可能性のある 1 つの null 値を格納できることを意味します...私はそれを hibernate バリデータから @NotNull とペアにしようとしました(これも通常は not null 制約を作成します) が、一意の制約とペアになっていると機能しません。また、テーブル レベルの一意の制約は、not null をオーバーライドします。

したがって、これは既知の問題のように思われるため、欠落している制約を手動で作成する以外に修正がないのではないかと思います。

ハイバネートテーブルの作成/更新プロセスを「ハイジャック」し、そのステートメントを生成する、つまりカスタムメイドの注釈を使用する実行可能なオプションはありますか? @Column アノテーションを自分でオーバーライドする必要がありますか?

助言がありますか?null 以外のすべての制約を含む SQL スクリプトを維持したくありません。

4

0 に答える 0