Я создаю сущности, которые одинаковы для двух разных таблиц. Для того, чтобы сопоставления таблиц и т. Д. Отличались для двух объектов, но только остальная часть кода в одном месте - абстрактный суперкласс. Лучше всего было бы уметь комментировать общие вещи, такие как имена столбцов (поскольку они будут идентичными) в суперклассе, но это не работает, потому что аннотации JPA не наследуются дочерними классами. Вот пример:Можно ли добавить аннотацию 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
(придирки), он ничего не сказал о спячках, не так ли? он может использовать другого поставщика JPA. но, конечно, ваши рассуждения применяются, тем не менее, –
И я фактически использую спящий режим, просто забыл сказать так :) – Kristofer