单向one-to-many association的insert/update
1)only insert a new child
测试代码,
items 上篇有介绍和代码
Item i2 = new Item();
i2.setName("Dec");
i2.setCategry(c2);
items.add(i2);
session.save(c2);
tx.commit();
红色部分必须有,否则runtime error
Hibernate: insert into item (name, categry_id) values (?, ?)
Hibernate: update item set categry_id=? where item_id=?
2)update a child
测试代码 ,更简单不再多说。
更正:昨天的文章有错,忘了delete item.hbt.xml中的many-to-one的部分,事实上成了双向的one-to-many association.
delete 以后,重新测试,runtime error. 因为item表中fk column的default value 是1 , 但是在categry表中没有这条记录,insert 后,重新测试,如果没有i2.setCategry(c2);, 也没有问题,因为inverse default value is true.
Hibernate: insert into item (name) values (?)
Hibernate: update item set categry_id=? where item_id=?