2010-01-11 11 views
6

estoy trabajando en algo que podría se benefician de un modelo como el siguiente:Añadir Anotación Java de campo heredada

public abstract class SomeBuisnessThingy() 
{ 
    protected int someDatapoint; 
} 

public class ADatabaseThingy() extends SomeBusinessThingy() 
{ 
    @SomeJPAAnnotation 
    ???? someDatapoint; 
} 

public class AWebServiceThingy() extends SomeBusinessThingy() 
{ 
    @SomeSOAPStuff 
    ???? someDatapoint; 
} 

huele más como una interfaz de una clase abstracta, pero las mismas necesidades cosa para acabar. Tengo una implementación de DB de esa clase y una implementación de WS de esa clase.

Esas representaciones son muy similares, pero pueden ser diferentes. Por ejemplo, la clase WS puede exponer un campo como una Cadena para que un tercero pueda realizar fácilmente una integración, también puede ser dividida en su propio paquete para que podamos entregarle a un cliente algunas clases ligeras de Servicios Web o POJO sin todo el equipaje del DB o un marco de JPA que viene con él. Tal vez podría usarse para crear las clases básicas necesarias para algo y luego cambiar entre marcos de persistencia que usan anotaciones diferentes.

¿Es posible agregar anotaciones a campos heredados?

Respuesta

7

No. Si necesita anotar miembros heredados, debe anotar los métodos, no los campos.

Cuestiones relacionadas