one-to-one 标签自带 cascade 所以不会报TransientObjectException异常
如果是 设置person表里的主键 参照IDCard表里的主键
public void testInsert(){
Person p = new Person();
p.setName("张三");
IDCard i = new IDCard();
i.setCardno("888888");
p.setCardid(i);
Session session = Tools.getSession();
session.beginTransaction();
session.save(p);
session.getTransaction().commit();
if(session!=null){
Tools.free(session);
}
}
结果是 两张表都会被插入数据
public void testInsert2(){
Person p = new Person();
p.setName("张三");
IDCard i = new IDCard();
i.setCardno("888888");
i.setPersonid(p);
Session session = Tools.getSession();
session.beginTransaction();
session.save(i);
session.getTransaction().commit();
if(session!=null){
Tools.free(session);
}
}
结果是只有Idcard表内被插入数据