¿Puedo generar un error de tiempo de compilación basado en el tipo de campo que se está anotando?

He escrito una anotación java que se ve así:

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

Después de mirar brevemente a mi alrededor, no pude ver si había una manera de limitar aún más el uso de esta anotación para que solo se pudieran anotar campos de un tipo específico. Esta anotación es personalizada para nuestro dominio y solo se puede usar en instancias de nuestra clase de objeto de dominio base.

¿Alguien sabe cómo hacer cumplir esto en tiempo de compilación?

¡Gracias por cualquier ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta