Унаследованный абстрактный класс с 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. Затем я очищаю проект (сообщения об ошибках пропали), затем я удаляю таблицы в базе данных и, наконец, запускаю контрольный пример для воссоздания таблиц.

Новая таблица имеет два унаследованных столбца.

Другие вопросы по тегам