<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>
<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>