Я использую JPA, и я столкнулся с этой проблемой, которую, по-моему, легко исправить.
У меня есть класс @MappedSuperclass с некоторыми общими переменными для многих дочерних классов, один из детей этого не делает.Мне больше не нужно одно из свойств суперкласса, поэтому мне нужно удалить это поле из базы данных.
Когда я это делаю, очевидно, появляется сообщение о том, что свойство не может быть отображено:
'Проверка схемы: отсутствует столбец [активация] в таблице [Mark]'
Я постараюсь прояснить:
@ MappedSuperclass public abstractкласс AbstractA extends SomethingElse {
@Column(name = "activation")
@Audited
protected String activation;
@Column(name = "flag")
@Audited
protected String flag;
Так что в этом случае дочерний класс больше не нуждается в активации в базе данных, а нуждается в флаге
@Audited
@Entity
@Table(name = "Mark")
public class Mark extends AbstractA {
@Column(name = "name", nullable = false)
private String name;
@Column(name = "code", nullable = false, unique = true)
private String code;
Так что в основном мне нужно удалить "столбец активации из базы данных «Марк», но мне нужно, чтобы класс «Марк» продолжал расширяться из аннотации А.
Я не уверен, есть ли аннотация, чтобы это свойство игнорировалось картографом.
Спасибо за вашу помощь.