关于hibernate

hibernate 的load和get的区别,load支持懒加载,每次在调用对象的方法的时候才会发送sql语句,发送sql语句的对象实际上是po对象的代理类cglib代理,该代理丰富了po的功能,并且,调用po的getid和getClass 是不会发送sql语句的。load会抛出objectnotfoundexception 因为如果返回的值是null的话,没有办法产生该对象的cglib代理,所以会抛异常。

2.关于hibernate的配置文件,configuration对象创建的时候,根据配置文件的类型,调用会有不同,如果是propertiy文件,则直接new configuration就可以了,如果是xml文件,则必须调用configuration对象的config()方法,产生sessionfactory 是调用configuration的buildsessionfactory() 导表的话调用的是schemeExport 的export()方法,创建schemeExport对象的时候把configuration作为参数传递就可以了

在配置文件中增加show_sql ,format_sql 可以让控制台出现sql语句,并且规范,当然,不同的数据库,使用的sql规范是不同的,所以,有一个方言,dialect

3.在orm映射文件中可以设置的有lazy,dynamic-update 还有insert,update属性,表示是否插入此列,或者更新此列

session通过传递的对象去orm文件中查找对象的类,再找到table属性,再寻找各个列,再寻找各个列上面的属性,再确定是否要插入。或者更新。然后发送sql语句。

4.session的update方法()是改变对象的状态,不发送sql

 

《美丽心灵》《录取通知书》
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值