わかった。ここで少し混乱します...
というクラスがあるとしましょうUser
。
class User {
// all variables
// all getters and setters
}
ここで、JSR 303 検証を使用して、変数として 、 などをここに配置@NotNull
し@Range
ます。
これを Form / Command オブジェクトとして使用します。つまり、フォームが送信されると、値が検証され、BindingResult
エラーが発生します。
- これは、Hibernate の Entity Object のように使用する必要がありますか? (そうであれば、検証アノテーションの上に、、、などの
@Entity
他の Hibernate アノテーションを追加する必要があります)@Id
@Column
- データベースからデータをロードすると、これらの検証も開始されますか? (はいの場合、データが既に存在し、検証を確認しない場合はどうなりますか?)
- たとえば、データベースに国が存在するかどうか、別のテーブルに xyz 値が存在するかなど、ビジネス検証は通常どこに記述しますか?
ここでも疑問が生じます: - ユーザー フォームは、ユーザー クラスに存在するすべてのフィールドを持っていない可能性があります - データベース テーブル ユーザーは、ユーザー クラスよりも多くのフィールドまたは少ないフィールドを持っている可能性があります - フォームには、別のオブジェクトからのフィールドもある可能性があります。注文。
これらをどのように処理しますか?
心を包み込もうとしている