У меня есть целая куча Java-бинов, аннотированных вот так JPA:
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);
для свойства id компонента устанавливается значение int, которое не соответствует фактическому идентификатору.
Это соответствует hibernate_sequence (я думаю).
Вопросы:
- Почему?
- Что такое hibernate_sequence (не могу найти достойного объяснения на веб-сайте Hibernate)?
- Как я могу это исправить?
Примечание: я использую Java 1.6, MSSQL2005, Hibernate3