这是我写的一个方法[code="java"]public boolean addEmployee(Employee emp) {
boolean flag = false;
Session session = HibernateSessionFactory.getSession();
Transaction t = null;
try {
t = session.beginTransaction();
session.save(emp);
t.commit();
return flag = true;
} catch (Exception e) {
e.printStackTrace();
if (t != null) {
t.rollback();
}
return flag;
} finally {
session.close();
}
}
public static void main(String[] arge){
Employee emp = new Employee();
EmployeeDAOImpl empl = new EmployeeDAOImpl();
emp.setAge("1976-09-08");
emp.setDepId("LG");
emp.setEmpId("LG20050001");
emp.setEmpName("小王");
emp.setPassword("123");
emp.setSchool("中国科学技术大学");
emp.setSchoolage("硕士");
emp.setSex("男");
emp.setSpeciality("核工业");
empl.addEmployee(emp);
}[/code]
这个是Employee.hbm.xml
[code="java"]
[/code]
测试以后发现EMP_ID里不是我插入的“LG20050001”而是“4”;这个表我并不希望他插入序列。其他的属性都是正确的。我想可能跟我插入的“Hibernate_sequence”有关。但是我不创建这个序列的话,其他表的序列就报错提示序列不存在。这个应该怎么解决啊?
改成
Assigned才是將主鍵的生成將給程序處理,與HIbernate無關.