2015-06-29 3 views
0

Я хочу, чтобы аннотация ниже была по умолчанию для всех моих объектов домена.Есть ли способ добавить глобальную аннотацию для всех доменов?

@JsonInclude(Include.NON_NULL) 

Вместо того, чтобы добавить вручную каждый класс домена, мне было интересно, если есть способ сделать это по умолчанию для всех доменов.

Я работаю с приложением Spring-Boot, которое использует Gradle для сборки и JPA и Hibernate для настойчивости.

ответ

0

Java поддерживает способ наследования аннотации супер типа, если в аннотации применяется к супер типа помечается мета аннотации @Inheriteddoc.

Но поскольку аннотация @JsonInclude не аннотируется @Inherited, я думаю, вам придется добавить ее вручную в свои классы домена.

0

Вы можете сделать один SuperClass аннотировать же с @JsonInclude(Include.NON_NULL) и продлить его, как показано ниже:

@JsonInclude(Include.NON_NULL) 
public class SuperClass { 

} 

public class SubClass extends SuperClass{ 

} 
+0

Аннотации суперкласса применяются только к подклассам, когда аннотация аннотируется с помощью '@ inherited'. Я думаю, что это не сработает. – barunsthakur

+0

Я думаю, что @barunsthakur правильно относится к «унаследованным». Если бы это сработало, было бы необходимо добавить импорт и аннотацию, но также не привлекает расширение суперкласса в каждом домене. Спасибо за предложение. – dspano

Смежные вопросы