多对一关系的检索:
在做查询的时候,Hibernate也会自动的填充Employee中的Department类型属性,部分测试代码如下:
test.java
教程把打印的语句写在了事务里,所以懒加载是可以的,我没有放在一个事务里,所以懒加载的时候报错,no session。
我修改了映射文件,关闭了懒加载。正常运行。关于懒加载以后教程讲了再研究吧。
Employee.hbm.xml
这样测试起来就对了,Hibernate的sql语句为:
Hibernate: insert into Department (name) values (?)
Hibernate: insert into Employee (name, dpt_id) values (?, ?)
Hibernate: select employee0_.id as id2_0_, employee0_.name as name2_0_, employee0_.dpt_id as dpt3_2_0_ from Employee employee0_ where employee0_.id=?
Hibernate: select department0_.id as id1_0_, department0_.name as name1_0_ from Department department0_ where department0_.id=?
两条insert两条select,发现其实也无非封装了一下jdbc嘛。