我有一个用于春季申请的豆子
ui.multiselect.*
}
然后在保存之前的控制器中,此对象的dbid值为null。 但是使用hibernate保存对象后dbid包含值。 我不知道发生了什么。
控制器代码是:
@Entity
@Table(name="tbl_apply_leave")
public class ApplyLeaveModel{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int dbid;
private String employee_name;
public int getDbid() {
return dbid;
}
public void setDbid(int dbid) {
this.dbid = dbid;
}
public String getEmployee_name() {
return employee_name;
}
public void setEmployee_name(String employee_name) {
this.employee_name = employee_name;
}
System.out.println(applyLeaveModel.getDbid()); // null
leave_dao.saveApplyLeaveModel(applyLeaveModel);
System.out.println(applyLeaveModel.getDbid()); // 5
答案 0 :(得分:0)
Hibernate执行PreparedStatement.getGeneratedKeys()
以获取插入后生成的id。
还相关:hibernate.jdbc.use_get_generated_keys
。
旁注:Java中的原始类型不能具有null
值。可能您的意思是0
,或者ID的类型是Integer
。