文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页网页设计JSP教程 → Hibernate经验总结

Hibernate经验总结

时间:2010/2/2 11:30:00来源:本站整理作者:我要评论(0)

Hibernate经验总结:

0、双向关联中最好是设置一端inverse=true,一端inverse=false。一般inverse=false会放在多的一端,即由多的一方来维护关系,并在多的一方设置cascade="save-update",在单的一方设置cascade="all" 。 
1、使用Hibernate的id generator来生成无业务意义的主键,不使用有业务含义的字段做主键,不使用assigned。  
2、使用对象类型(String/Integer/Long/...)来做主键,而不使用基础类型(int/long/...)做主键。  
3、在用Integer做主键时,需设置unsaved-value="0" 而不是null或none,因为在程序中它被默认设置成了0. 
4、不使用composite-id来处理复合主键的情况,而使用UserType来处理该种情况。 Gavin King并不提倡使用composite-id,如果你不是基于已有的数据库编程,而是重新设计数据库结构,那么建议使用UserType。你可以自定义一个UserType,包括User和Goods,并且在hbm中定义该UserType为unique的,同样可以达到目的。而这种方式的好处则是不需要你来手工维护id,而由Hibernate自动维护。UserType的使用方法参考手册5.2.4节和Hibernate自带的示例中的net.sf.hibernate.test.DoubleStringType。 
5、在使用HQL的地方,结果一般不会受XML中设置的影响。 
6、fetch参数为select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象,形成n+1次查询; 
而join方式,主体对象和关联对象用一句外键关联的sql同时查询出来,不会形成多次查询。 
如果你的关联对象是延迟加载的,它当然不会去查询关联对象。 
另外,在hql查询中配置文件中设置的join方式是不起作用的 
7、使用full join fetch 与 right join fetch是没有意义的。 
8、添加数据、删除、更新操作时,将同时更新二级缓存。这就是Hibernate做批处理的时候效率不高的原因,原来是要维护二级缓存消耗大量时间的缘故 
9、unsaved-value 属性在Hibernate3中几乎不再需要。 
10、单向关联更加难于查询。在大型应用中,几乎所有的关联必须在查询中可以双向导航。 
11、在两层结构中,把Hibernate Session从JDBC连接中脱离开,下次需要用的时候再连接上。绝不要把一个Session用在多个应用程序事务(Application Transaction)中,否则你的数据可能会过期失效。 
12、在系统中对性能要求很严格的一些部分,某些操作也许直接使用JDBC会更好。但是请先确认这的确是一个瓶颈,并且不要想当然认为JDBC一定会更快。如果确实需要直接使用JDBC,那么最好打开一个 Hibernate Session 然后从 Session获得connection,按照这种办法你仍然可以使用同样的transaction策略和底层的connection provider。 
13、当异常发生的时候,必须要回滚 Transaction ,关闭Session。 
14、多对多连接用得好的例子实际上相当少见。大多数时候你在“连接表”中需要保存额外的信息。这种情况下,用两个指向中介类的一对多的连接比较好。 
15、绝大多数的查询并不能从查询缓存中受益,所以Hibernate默认是不进行查询缓存的。如若需要进行缓存,请调用 Query.setCacheable(true)方法。这个调用会让查询在执行过程中时先从缓存中查找结果, 并将自己的结果集放到缓存中去。

相关视频

    没有数据

相关阅读 水果忍者7条经验总结网页美工学习设计经验总结JavaScript学习和使用经验总结Hibernate经验总结Linux操作系统安全管理经验总结ASP开发10条经验总结经验总结:PowerPoint课件发布全攻略关于ASP.NET在IIS一些问题的经验总结

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 没有查询到任何记录。 几个提升JSP应用程序效率的小方法JAVA面试问题宝典EL表达式语言的基础总结java常用图片读写程序

人气排行 java读取文本文件内容并获取文件大小教你5种JSP页面显示为乱码的解决方法教你java用getAddress方法取得IP地址spring依赖注入的3种实现方式JSP学习心得Java的字符串函数集锦告诉你jsp获取浏览者真实IP地址方法高手谈Java如何进阶