Я создаю сущности, которые одинаковы для двух разных таблиц. Для того, чтобы сопоставления таблиц и т.д. Отличались для двух объектов, но только остальная часть кода в одном месте - абстрактный суперкласс. Лучше всего было бы уметь комментировать общие вещи, такие как имена столбцов (поскольку они будут идентичными) в суперклассе, но это не работает, потому что аннотации JPA не наследуются дочерними классами. Вот пример:
public abstract class MyAbstractEntity {
@Column(name="PROPERTY") //This will not be inherited and is therefore useless here
protected String property;
public String getProperty() {
return this.property;
}
//setters, hashCode, equals etc. methods
}
Который я хотел бы наследовать и указывать только определенные для ребенка вещи, например аннотации:
@Entity
@Table(name="MY_ENTITY_TABLE")
public class MyEntity extends MyAbstractEntity {
//This will not work since this field does not override the super class field, thus the setters and getters break.
@Column(name="PROPERTY")
protected String property;
}
Любые идеи или мне нужно создавать поля, получатели и сеттеры в дочерних классах?
Спасибо, Kris