作者:R-hehe | 来源:互联网 | 2023-10-11 17:41
雇员的分页显示和部门的分页显示是一样的,具体可以参照雇员分页显示这篇博文,因为雇员显示要涉及到一个外键问题,因此我们这里着重总结一下。
在list.jsp页面我们这样设计显示:
这样我们的日期用format来格式化他, 否则会出现日期错误。
在部门名称显示一栏,我们使用e.department.dname方式来显示部门名称,但是这样处理,还是无法显示部门名称。
究其原因,是因为懒加载导致,我们下面先看一下雇员的属性:
private Integer eid;private String ename;private String sex;private Date birthday;private Date joinDate;private String eno;private String username;private String password;private Department department;
我们可以看到,其中有一个部门属性变量。
在我们通过查询返回雇员的时候,雇员里面的部门属性其实并没有真正的通过查询数据库来填充,而是返回一个代理,这也就是所谓的“懒加载”机制,hibernate的“懒加载”是默认开启的。因此我们要禁用它,让他在获取雇员属性的时候,也同时真正的返回部门属性信息。
to-one name="department" class="com.employee.domain.Department" lazy="false" column="dno"/>
通过上面设置成false,现在我们重新启动项目,就可以看到我们的部门名称显示出来了。