先看代码:
package com.pb.bean;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;@Entity
@SequenceGenerator(name="teacherSEQ", sequenceName="teacher_SEQ")
public class Teacher { private int id;
private String name;
private String title;

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="teacherSEQ")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}

}
下面是测试代码:
package com.pb.test;import org.hibernate.Session;import com.pb.bean.Teacher;
import com.pb.util.HibernateUtil;public class TeacherTest { /**
 * @param args
 */
public static void main(String[] args) {
Teacher t = new Teacher();

t.setName("巨魔");
t.setTitle("中级");

Session session = HibernateUtil.getSession();
session.beginTransaction();
session.save(t);
session.getTransaction().commit();
session.close();
}}
数据库中我没建表,是运行时自动建表,我配置了这个<property name="hibernate.hbm2ddl.auto">update</property>。
当运行后,查看数据库,ID值为什么是50?
再运行,第二个数据ID成了1050!!!!哪里有问题????