3

javax2 つの日付を互いに比較するための検証をセットアップしようとしています。一方の日付は他方よりも小さくする必要があります。

また、両方の日付に対してカスタム制約を作成しました。しかし、問題は、私の注釈インターフェイスが非プリミティブ データ型を処理できないことです。

これが私のコードです:(これが間違っていることは知っていますが、ソースを見せれば私の問題を理解できるかもしれません)

豆:

@DateValidator(firstDate="assignmentStart", secondDate="assignmentEnd")
public class ProjectAssignment implements IsSerializable {

   private String id;
   private Project project;
   private String projectResponsibility;

   private Date assignmentStart;
   private Date assignmentEnd;
}

注釈インターフェース:

@Target({ TYPE, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = DateValidatorImpl.class)
public @interface DateValidator {

String firstDate();
String secondDate();

String message() default "";

Class<?>[] groups() default {};

Class<? extends Payload>[] payload() default {};


}

ここに 1 つの問題があります。Date型を型に入れようとしていStringます。firstDateしかし、 my andsecondDateを として宣言すると、次のようDateな問題があります。

Invalid type Date for the annotation attribute `DateValidator.firstDate; 
only primitive type, `String`, `Class`, annotation, enumeration are permitted 
or 1-dimensional arrays thereof

2 つの日付を互いに比較する他の方法はありますか?

私は何が欠けていますか?

4

1 に答える 1