Унаследованный абстрактный класс с JPA + циклическая ссылка
У меня есть абстрактный класс AbstractEntity, который содержит два поля:
- lastEditTime (LocalDateTime)
- lastEditUser (UserEntity)
Ниже приведен код:
@MappedSuperclass
public abstract class AbstractEntity {
protected LocalDateTime lastEditTime;
protected UserEntity lastEditUser;
protected AbstractEntity () { }
protected AbstractEntity (UserEntity creatorUser) {
lastEditTime = LocalDateTime.now();
lastEditUser = creatorUser;
}
public LocalDateTime getLastEditTime() {
return lastEditTime;
}
public void setLastEditTime(LocalDateTime lastEditTime) {
this.lastEditTime = lastEditTime;
}
public UserEntity getLastEditUser() {
return lastEditUser;
}
public void setLastEditUser(UserEntity lastEditUser) {
this.lastEditUser = lastEditUser;
}
}
Тогда у меня есть класс UserEntity, который имеет много разных полей:
@Entity
@Table(name = "Users")
public class UserEntity extends AbstractEntity {
@Id
private String name;
private String password;
...
}
Eclipse показывает следующее сообщение об ошибке:
При переопределении подразумеваемой ассоциации "lastEditUser" столбец соединения "lastEditUser_name" не может быть разрешен в таблице "пользователи"
Что это значит? Как я могу решить это?
Спасибо!
1 ответ
Решение
Я отключил Eclipse Datasource. Затем я очищаю проект (сообщения об ошибках пропали), затем я удаляю таблицы в базе данных и, наконец, запускаю контрольный пример для воссоздания таблиц.
Новая таблица имеет два унаследованных столбца.