У меня есть целая куча Java-бобов аннотированных как это с JPA:Аннотации Hibernate - идентификатор не правильно установлен
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class TitleEntry extends Entry {
private Long id;
public TitleEntry() { }
public TitleEntry(String code, String label) {
super(code, label);
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
protected void setId(Long id) {
this.id = id;
}
}
Идентификатор всегда генерируется, как это для каждого объекта и, кажется, работает хорошо.
Теперь проблема: Когда я сохранить объект в Java:
dao.save(titleEntry);
ид-свойство компонента устанавливается в Инт-значение, что делает не соответствуют фактическим идентификатором. Это соответствует hibernate_sequence (я думаю).
Вопросы:
- Почему?
- Что такое hibernate_sequence в любом случае (не можете найти достойное объяснение на веб-сайте Hibernate)?
- Как это исправить?
Примечания: Я использую Java 1.6, MSSQL2005, Hibernate3
Что такое «фактический идентификатор». ? – Bozho