Я работаю над тем, что может извлечь выгоду из шаблона, подобного следующему:
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, идущая с этим. Возможно, его можно использовать для создания базовых классов, необходимых для чего-то, а затем переключаться между средами постоянства, которые используют разные аннотации.
Можно ли добавлять аннотации к унаследованным полям?