のフィールド/ゲッターに表示される場合、
@Entity
それらの違いは何ですか? (私はHibernateを通してエンティティを永続化します)。それぞれがどのフレームワークおよび/または仕様に属していますか?
@NotNull
内にありますjavax.validation.constraints
。javax.validation.constraints.NotNull
javadoc でそれは言う注釈付き要素は null であってはなりません
しかし、データベース内の要素の表現については言及していません。では、なぜ
nullable=false
列に制約を追加するのでしょうか?
167615 次
4 に答える
340
@NotNull
JSR 303 Bean Validationアノテーションです。データベースの制約自体とは何の関係もありません。ただし、Hibernate は JSR 303 のリファレンス実装であるため、これらの制約をインテリジェントに取得してデータベースの制約に変換するため、1 つの価格で 2 つ取得できます。@Column(nullable = false)
列が非 null であることを宣言する JPA の方法です。つまり、前者は検証用であり、後者はデータベース スキーマの詳細を示すためのものです。検証アノテーションに関して、Hibernate から追加の (そして歓迎です!) ヘルプが得られます。
于 2011-09-16T02:28:57.647 に答える