258
  1. のフィールド/ゲッターに表示される場合、@Entityそれらの違いは何ですか? (私はHibernateを通してエンティティを永続化します)。

  2. それぞれがどのフレームワークおよび/または仕様に属していますか?

  3. @NotNull内にありますjavax.validation.constraintsjavax.validation.constraints.NotNulljavadoc でそれは言う

    注釈付き要素は null であってはなりません

    しかし、データベース内の要素の表現については言及していません。では、なぜnullable=false列に制約を追加するのでしょうか?

4

4 に答える 4

340

@NotNullJSR 303 Bean Validationアノテーションです。データベースの制約自体とは何の関係もありません。ただし、Hibernate は JSR 303 のリファレンス実装であるため、これらの制約をインテリジェントに取得してデータベースの制約に変換するため、1 つの価格で 2 つ取得できます。@Column(nullable = false)列が非 null であることを宣言する JPA の方法です。つまり、前者は検証用であり、後者はデータベース スキーマの詳細を示すためのものです。検証アノテーションに関して、Hibernate から追加の (そして歓迎です!) ヘルプが得られます。

于 2011-09-16T02:28:57.647 に答える