Hibernate的细节处理(一)

<p><span style="font-size: small;">1,Hibernate的初始化</span></p>
<p><span style="font-size: small;"> Configuration cfg=new configuration();</span></p>
<p><span style="font-size: small;"> cfg.configure();</span></p>
<p><span style="font-size: small;"> SessionFactory sf=cfg.buildSessionFactory();</span></p>
<p><span style="font-size: small;"> 消耗比较大,因此一个程序最好只初始化一次。因此以上代码通常放在静态代码块里面</span></p>
<p><span style="font-size: small;"> SessionFactory相当于jdbc中的ConnectionManagement。</span></p>
<p><span style="font-size: small;"> Session在很多包里可以找到,现在推荐使用的是org.hibernate包中的session</span></p>
<p><span style="font-size: small;">2,Session中方法的介绍</span></p>
<p><span style="font-size: small;">clear,evcit 清除缓存</span></p>
<p><span style="font-size: small;"> contains缓存中管理的对象</span></p>
<p><span style="font-size: small;"> delete,删除对象</span></p>
<p><span style="font-size: small;"> flush,session 和数据库同步数据</span></p>
<p><span style="font-size: small;"> get方法,从数据库中拿数据,根据主键</span></p>
<p><span style="font-size: small;"> session.get(User.class,id);</span></p>
<p><span style="font-size: small;"> load方法,使用方法类似于get方法。区别在于,load不会立刻访问数据库,只有第一次使用的时候,</span></p>
<p><span style="font-size: small;"> 才会访问数据库.<span lang="EN-US"><span style="font-family: Times New Roman;">load</span></span><span style="">语句会首先</span><span lang="EN-US"><span style="font-family: Times New Roman;">new</span></span><span style="">一个对象,所以永远不可能为空。然后会在需要的时候才获取。</span></span></p>
<p><span style="font-size: small;">3,如果只是查询的操作,事务可以不打开</span></p>
<p><span style="font-size: small;">4,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-family: Times New Roman;">Hibernate</span></span><span style="">不适合用于对数据量巨大,对性能要求比较高的情形</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-family: Times New Roman;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="">最佳实践:</span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;">1,<span style='font: 7pt "Times New Roman";'><span style="font-size: small;"> </span></span></span></span></span><span style="">尽量使用细粒度的对象。</span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;">2,<span style='font: 7pt "Times New Roman";'><span style="font-size: small;"> </span></span></span></span></span><span style="">使用没有意义的</span><span lang="EN-US"><span style="font-family: Times New Roman;">id</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;">3,<span style='font: 7pt "Times New Roman";'><span style="font-size: small;"> </span></span></span></span></span><span style="">自然主键的使用</span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;">4,<span style='font: 7pt "Times New Roman";'><span style="font-size: small;"> </span></span></span></span></span><span style="">尽量不要自己管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">jdbc</span></span></p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值