一对多关联映射(单向)
1、People.hbm.xml


















2、address.hbm.xml

















3、测试程序
















如果加了阴影部分,则运行结果为:
Hibernate: select people0_.peopleId as peopleId0_, people0_.name as name0_ from people people0_
Hibernate: select addresses0_.peopleId as peopleId1_, addresses0_.addressId as addressId1_, addresses0_.addressId as addressId1_0_, addresses0_.peopleId as peopleId1_0_, addresses0_.addressName as addressN3_1_0_ from address addresses0_ where addresses0_.peopleId=?
Hibernate: select addresses0_.peopleId as peopleId1_, addresses0_.addressId as addressId1_, addresses0_.addressId as addressId1_0_, addresses0_.peopleId as peopleId1_0_, addresses0_.addressName as addressN3_1_0_ from address addresses0_ where addresses0_.peopleId=?
1 lucy
2 1 Hubei Wuhan
1 1 Hunan Shaoyang
2 lily
如果不加阴影部分,则运行结果为
Hibernate: select people0_.peopleId as peopleId0_, people0_.name as name0_ from people people0_
1 lucy
Hibernate: select addresses0_.peopleId as peopleId1_, addresses0_.addressId as addressId1_, addresses0_.addressId as addressId1_0_, addresses0_.peopleId as peopleId1_0_, addresses0_.addressName as addressN3_1_0_ from address addresses0_ where addresses0_.peopleId=?
1 1 Hunan Shaoyang
2 1 Hubei Wuhan
2 lily
Hibernate: select addresses0_.peopleId as peopleId1_, addresses0_.addressId as addressId1_, addresses0_.addressId as addressId1_0_, addresses0_.peopleId as peopleId1_0_, addresses0_.addressName as addressN3_1_0_ from address addresses0_ where addresses0_.peopleId=?
默认default-lazy为true,只有当程序中访问到People的Addresses时才会从数据库中加载。设置为false后,程序在加载People时立即就把它关联的Addresses全部加载进来。
另外,只有在People端设置才有效。