今天配置SSH项目的时候,遇到了这个报错。
这个错误一般是:表联系的类名异常。

解决方法:
配置这个类的配置文件中many-to-one标签中添加lazy=“false”(把延时加载关闭),不延迟加载,就没有问题了。

原理研究:
一.延迟加载的概念
当Hibernate从数据库中加载某个对象时,不加载关联的对象,而只是生成了代理对象,获取使用session中的load的方法(在没有改变lazy属性为false的情况下)获取到的也是代理对象,所以在上面这几种场景下就是延迟加载。

二.理解立即加载的概念
当Hibernate从数据库中加载某个对象时,加载关联的对象,生成的实际对象,获取使用session中的get的方法获取到的是实际对象。

三.为什么要使用延迟加载
延迟加载策略能避免加载应用程序不需要访问的关联对象,以提高应用程序的性能。

10-06 17:42