Сопоставление естественного ключа с аннотациями гибернации - PullRequest
1 голос
/ 21 сентября 2009

У меня есть устаревшая таблица, в которой столбец содержит дату в качестве естественного первичного ключа таблицы. Я пытаюсь сопоставить это с hibernate, но для жизни я не могу понять, как получить hibernate, чтобы отобразить один (не составной) природный ключ в качестве Id.

У меня это отображается так:

@Id
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "HOLIDAY_DATE", unique = true, nullable = false, length = 7)
public Date getHolidayDate() {
    return holidayDate;
}

Но hibernate жалуется на то, что «для getHolidayDate настроено более одного атрибута»

Как правильно это сделать?

1 Ответ

1 голос
/ 21 сентября 2009

Вы уверены, что жалуется Hibernate, а не ваша IDE?

В частности, IntelliJ Идея жаловалась на то, что @Id и @Column указываются как аннотации для одного и того же метода. Это, однако, совершенно верно.

Если вы получаете эту ошибку из Hibernate (например, при попытке инициализации SessionFactory), пожалуйста, опубликуйте полную трассировку стека, а также весь ваш класс (аннотации сущности / свойства)

...