hibernate 保存一个javabean的属性的对象的ID

来源:百度知道 编辑:UC知道 时间:2024/07/07 23:32:06
如题。
我有一个javaBean叫Operator,它有一个属性:
private Department department;
并且这个Department也是一个javaBean;
现在我是这样做的:
Operator op=new Operator();
Department department=new Department();
department.setId("2");
op.setDepartment(department);
op.setEmail("2222");
op.setMobile("3333");
op.setName("1111");
op.setTrueName("555");
HibernateManageSessionFilter.getSession().save(op);
HibernateManageSessionFilter.getSession().beginTransactio().commit();
这里的HibernateManageSessionFilter是用于获取hibernate的session的。
我这样做是想把Operator的数据保存到数据库中,但是hibernate报了异常。
我想问的是,怎样才能把这个department的id属性的值保存到我的operator表中的department_id字段中?有什么方法?或是怎样在operator_hbm_xml文件中配置?请高手指教

一般情况下不需要自己去设置主键的值,而交由数据库或Hibernian实现,你不必为你的对象设置id属性。如果你要自己生成id的话,那么请将hbm.xml中的对应的id的generator class设置为assigned。不过这样你必须手动的为每一个id赋值。

如果那个id是你的表的属性
generator class="native"/>