[解決済み】混乱中。JPAとHibernateでの@NotNullと@Column(nullable = false)の比較。
2022-04-07 12:09:18
質問
-
のフィールド/ゲッターに表示される場合、そのフィールド/ゲッターは
@Entity
この2つの違いは何ですか?(私は、エンティティの永続化を ハイバーネート ). -
それぞれどのようなフレームワークや仕様に属していますか?
-
@NotNull
の中にあります。javax.validation.constraints
. その中でjavax.validation.constraints.NotNull
javadocには次のように書かれています。アノテーションされた要素はnullであってはならない
しかし、これはデータベースにおける要素の表現について述べているわけではないので、なぜ制約を追加するのでしょうか?
nullable=false
をカラムに追加してください。
解決方法は?
@NotNull
は
JSR 303 Bean Validation(ビーンバリデーション
アノテーションです。データベース制約自体には関係ありません。しかし、HibernateはJSR 303の参照実装であるため、これらの制約をインテリジェントに拾い上げ、データベース制約に変換してくれるため、1つの値段で2つを手に入れることができるのです。
@Column(nullable = false)
は、JPA方式でカラムが非NULLであることを宣言するものです。つまり、前者は検証のため、後者はデータベーススキーマの詳細を示すためのものです。Hibernateの検証アノテーションの助けを借りているに過ぎないのです。
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] Jackson JSONとHibernate JPAによる無限再帰の問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] トークンのシンタックスエラー、これらのトークンを削除してください [closed].
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] Java UnknownFormatConversionException
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み] Maven: assembly-pluginが全く実行されない