JPA: собственная аннотация для объединения аннотаций для полей с одинаковым значением - PullRequest
4 голосов
/ 31 июля 2011

Мне интересно, как написать свою собственную аннотацию для полей с одинаковыми аннотациями.

Например:

старый класс:

public class XXXEntity {

@NotNull  
@SomeAnnotation_0  
@SomeAnnotation_1  
@Size(max = 100)  
private String email_0;

@NotNull  
@SomeAnnotation_0  
@SomeAnnotation_1  
@Size(max = 100)  
private String email_1;

...
}

желаемый класс:

public class XXXEntity {

@MyOwnAnnotation  
private String email_0;

@MyOwnAnnotation  
private String email_1;

...
}

Есть подсказки?

Спасибо
Jonny

1 Ответ

4 голосов
/ 31 июля 2011

javax.validation имеет состав ограничений .Вы можете объединить все аннотации валидации в одну индивидуальную аннотацию.Чтобы скопировать пример из документов:

@NotNull
@Size(min = 2, max = 14)
@CheckCase(CaseMode.UPPER)
@Target( { METHOD, FIELD, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = {})
@Documented
public @interface ValidLicensePlate { .. }

Однако вы не можете сделать это для аннотаций без проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...