hibernate关联映射之一对多
看了一对一的实现之后,我们来看一下hibernate中一对多的实现,实际上还是不难的,只是有些概念第一次用时比较难理解。
废话不多说,直接上代码:
先看一下实体类:
?再看另外一个TUser的映射文件,这个才是重要的,我们接下来要讲的重点,要仔细看:
?
Hibernate: insert into t_user (age) values (?)Hibernate: insert into t_address (address, zipcode, tel, type, user_id) values (?, ?, ?, ?, ?)?我们看到三条语句变成了两条。hibernate在第二条语句中直接把user_id插入t_user表,即User的关联表。很容易理解吧,inverse="true"就是让对方来管理跟自己关联的属性,这里表明Address管理user属性,它在t_user插入后然后把id取得,并作为user_id插入到t_address表中。
如果你的项目出现上面的那个异常,首先检查一下是否用了inverse="true",默认值是inverse="false"。
?