Добавить аннотацию Java в унаследованное поле - PullRequest
6 голосов
/ 12 января 2010

Я работаю над тем, что может извлечь выгоду из шаблона, подобного следующему:

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

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

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

Он пахнет больше как интерфейс, чем абстрактный класс, но нужно сделать то же самое. У меня есть реализация DB этого класса и реализация WS этого класса.

Эти представления очень похожи, но могут отличаться. Например, класс WS может предоставлять поле в виде строки, чтобы сторонняя организация могла легко выполнить интеграцию, его также можно встроить в его собственный пакет, чтобы мы могли передать клиенту несколько легких классов WebService или POJO без всего багажа DB или структура JPA, идущая с этим. Возможно, его можно использовать для создания базовых классов, необходимых для чего-то, а затем переключаться между средами постоянства, которые используют разные аннотации.

Можно ли добавлять аннотации к унаследованным полям?

1 Ответ

7 голосов
/ 12 января 2010

Нет. Если вам нужно аннотировать унаследованные элементы, вам нужно аннотировать методы, а не поля.

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