Posso gerar um erro de tempo de compilação com base no tipo de campo que está sendo anotado

Eu escrevi uma anotação em java que se parece com isso:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)  // can I further limit this to only fields of type DomainObject?
public @interface Owns {
}

Depois de olhar brevemente em volta, não consegui ver se havia uma maneira de limitar ainda mais o uso dessa anotação, para que apenas campos de um tipo específico pudessem ser anotados. Esta anotação é personalizada para o nosso domínio e só pode ser usada em instâncias da nossa classe de objeto de domínio base.

Alguém sabe como aplicar isso em tempo de compilação?

Obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion