Hibernate_映射配置文件详解汇.ppt

Hibernate_映射配置文件详解汇

双向 1-N 测试程序1产生的 sql 语句: 仅仅save(customer),并没有save(order)但却执行了三条SQL,由生成的SQL语句可以知道,将用户 TongGang 添加到Customers表中的同时也将 order1及order2添加到Orders表中!这是因为在 Customers.hbm.xml 映射配置中,set节点的设置了cascade=save-update,所以当保存或更新Customers的时候也会自动保存相应的Orders对象! 双向 1-N 注释掉测试程序 1 中的订单关联用户的代码: 生成同样的 sql 语句,同样的数据表 customers_table 中插入的数据 orders_table中插入的数据 在Customers.hbm.xml的set节点中加了属性 inverse=true,这句话的意思是将主控制权交出去:交给了Orders,也就是用户与订单之间从属关系主要是由Orders对象来确定,也即订单自己来决定它属于哪个对象。所以在这里,将订单关联用户的代码注释掉后,虽然后面用户关联了订单,但因为用户已经将主动权交出,所以Hibernate在save订单的时候并不知道订单是属于哪个用户,自然Customers_ID字段填空值。 双向 1-N 将Customers.hbm.xml中的 inverse=true 去掉

文档评论(0)

1亿VIP精品文档

相关文档