需要数据的时候才要加载
懒加载的概念
session.load方法产生的是代理对象,该代理类是持久化类的子类
set的延迟加载:
true false extra说明: - 1、因为延迟加载在映射文件设置,而映射文件一旦确定,不能修改了。 - 2、延迟加载是通过控制sql语句的发出时间来提高效率的。
manytoone的懒加载 对于性能来说,没有什么影响,所以随便怎么样都行
说明: 1、因为抓取策略的设置在映射文件中,所以一旦映射文件生成就不能改变了。 2、通过发出怎么样的SQL语句加载集合,从而优化效率的。
结果为Long类型的数据,该表的总的行数
sql查询
查询的技术路线
错误1
该Person在hibernate的映射文件中没有找到:
1、在hibernate的配置文件中没有加载相应的映射文件 2、也有可能是客户端的session的操作的对象在映射文件中找不到错误2
错误3
当在hibernate内部生成sql语句的时候,要给insert语句赋值,值从属性的getter方法 中得到,在拼接getter方法的时候,出错了。
错误4
当在执行session.get方法的时候,会利用Java的反射机制创建一个对象,利用的是默认的构造函数。所以一个持久化类中必须有一个默认的构造函数
错误5
要求主键必须在程序中进行设置
错误6
主键的生成策略支持表的主键的值的自动增长,但是该表本身没有这样的机制。
错误7
错误解析: 在flushing之前,保存一个临时状态的对象
前提条件: 在Classes.hbm.xml文件中
在客户端:
所以hibernate在保存classes的时候,就不知道该怎么办了。
错误8
错误9
错误原因:当一个对象从数据库中加载数据的时候,session已经关闭了 所有的数据在数据库中加载出来以后,session才能关闭。