Hibernate

hibernate

Hibernate, java

Hibernate优化_Hibernate性能优化_Hibernate优化方案(下)

  Hibernate是笔者使用了超过5年的优秀ORM框架,虽然说使用了5年,但笔者并没有把握说自己真正意义上的精通Hibernate。说道熟悉Hibernate还差不多,因为Hibernate用法和特性只要使用过或许都很简单,但是要做到发挥Hibernate最大限度的潜力,Hibernate优化,或者说Hibernate性能优化笔者仅仅是初窥门径而已。这里摘录一篇牛人对于Hibernate优化的文章,希望对自己以后的使用指引下方向吧。这篇是上一篇的续作,着实是不错,推荐hibernate用户,尤其是像我一样的用户看看,会有收获的 4.6 HQL调优 4.6.1 索引调优 HQL看起来和SQL很相似。从HQL的WHERE子句中通常可以猜到相应的SQL WHERE子句。WHERE子句中的字段决定了数据库将选择的索引。 大多数Hibernate开发者所常犯的一个错误是无论何时,当需要新WHERE子句的时候都会创建一个新的索引。因为索引会带来额外的数据更新开销,所以应该争取创建少量索引来覆盖尽可能多的查询。 4.1节让你使用一个集合来处理所有可能的数据搜索条件。如果这不太实际,那么你可以使用后端剖析工具来创建一个针对应用程序涉及的所有 SQL的集合。基于那些搜索条件的分类,你最终会得到一个小的索引集。与此同时,还可以尝试向WHERE子句中添加额外的谓语来匹配其他WHERE子句。 范例7 有两个UI搜索器和一个后端守护进程搜索器来搜索名为iso_deals的表。第一个UI搜索器在unexpectedFlag、dealStatus、tradeDate和isold属性上有谓语。 第二个UI搜索器基于用户键入的过滤器,其中包括的内容除tradeDate和isold以外还有其他属性。开始时所有这些过滤器属性都是可选的。 后端搜索器基于isold、participantCode和transactionType属性。 经过进一步业务分析,发现第二个UI搜索器实际是基于一些隐式的unexpectedFlag和dealStatus值来选择数据的。我们还让tradeDate成为过滤器的必要属性(为了使用数据库索引,每个搜索过滤器都应该有必要属性)。 鉴于这一点,我们依次使用unexpectedFlag、dealStatus、tradeDate和isold构造了一个复合索引。两个UI搜索 器都能共用它。(顺序很重要,如果你的谓语以不同的顺序指定这些属性或在它们前罗列了其他属性,数据库就不会选择该复合索引。) 后端搜索器和UI搜索器区别太大,因此我们不得不为它构造另一个复合索引,依次使用isold、participantCode和transactionType。 4.6.2绑定参数 vs.字符串拼接

Hibernate, java

Hibernate优化_Hibernate性能优化_Hibernate优化方案(上)

  Hibernate是笔者使用了超过5年的优秀ORM框架,虽然说使用了5年,但笔者并没有把握说自己真正意义上的精通Hibernate。说道熟悉Hibernate还差不多,因为Hibernate用法和特性只要使用过或许都很简单,但是要做到发挥Hibernate最大限度的潜力,Hibernate优化,或者说Hibernate性能优化笔者仅仅是初窥门径而已。这里摘录一篇牛人对于Hibernate优化的文章,希望对自己以后的使用指引下方向吧。 1. Hibernate优化-引言 Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。 在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。 通过我们的使用Hibernate 3.3.1和Oracle 9i的能源项目中的一些例子,本文涵盖了很多Hibernate调优技术。其中还提供了一些掌握Hibernate调优技术所必需的数据库知识。 我们假设读者对Hibernate有一个基本的了解。如果一个调优方法在Hibernate 参考文档(下文简称HRD)或其他调优文章中有详细描述,我们仅提供一个对该文档的引用并从不同角度对其做简单说明。我们关注于那些行之有效,但又缺乏文档的调优方法。 2. Hibernate优化-Hibernate性能调优 调优是一个迭代的、持续进行的过程,涉及软件开发生命周期(SDLC)的所有阶段。在一个典型的使用Hibernate进行持久化的Java EE应用程序中,调优会涉及以下几个方面: 业务规则调优 设计调优 Hibernate调优 Java GC调优 应用程序容器调优

Hibernate, java

Hibernate Search 3.3 Beta2下载_Hibernate Search 3.3下载_Hibernate Search 3.3

  Hibernate Search 3.3第二个beta版-Hibernate Search 3.3 beta2下载地址发布了,关注Hibernate Search 3.3的朋友可以直接去官方获取最新的Hibernate Search 3.3 beta2下载地址下载试用。目前Hibernate在Java ORM框架中的地位如日中天,然而Hibernate并没有停滞在同一个层面,它已经将数据查询延伸到了面向数据库的全文检索方面,这就是我们今天说的Hibernate Search。虽然同样是对Lucene的封装,但直接与Hibernate进行整合对于很多开发者来说是十分方便的,同时避开了直接编写Lucene API的复杂语法对于许多对Lucene初窥门径的朋友很有帮助。   简单介绍下Hibernate和Hibernate Search的关系,算是扫盲了。Hibernate是目前Java开源世界最流行的 ORM框架之一。目前比较火的组合SSH(Struts + Spring +

Hibernate, java

Hibernate 3.6.0下载_Hibernate 3.6.0正式版下载_Hibernate 3.6.0

  Hibernate 3.6.0下载地址发布了,关注Hibernate 3.6.0的朋友可以去Hibernate官方获取最新的Hibernate 3.6.0下载地址下载试用。本次发布的Hibernate 3.6.0是Hibernate Core 3.6.0的正式版,同时也是Hibernate项目迁移到github上的第一个发布的版本。就在几天前,Hibernate官方忽然爆出一则消息一直以SVN作为版本库的Hibernate项目已经迁移至github,也就是说Hibernate的版本控制将由git来接管了。   说起git笔者貌似一直没有下定决心将svn迁移至此,一方面是由于svn基本能胜任目前的所有工作,另一个主要的原因就是将之前所有的变更记录都迁移过来,这个耗时应该是十分巨大的。同时git目前尚无十分理想的图形工具支持,因此迟迟没有行动。但git无论是速度效率,还是其优秀的分布式提交功能都让笔者爱不释手。 转回正题,本次发布的Hibernate 3.6.0正式版主要改进包括: Hibernate 3.6.0放弃了对JDK 1.4的支持,也就是说Hibernate 3.6.0最低要求JDK 1.5了 Hibernate 3.6.0将hibernate-jmx与hibernate-annotations两个模块合并到了Hibernate-core中(使用maven的朋友需要修改下pom中的依赖关系了) Hibernate 3.6.0改进了类型的支持 Hibernate

Hibernate, java

Hibernate 3.6.0 CR2下载_Hibernate 3.6.0下载_Hibernate 3.6.0

  Hibernate 3.6.0第二个RC版本-Hibernate 3.6.0 CR2下载地址发布了,关注Hibernate 3.6.0的朋友可以去Hibernate官方获取最新的Hibernate 3.6.0 CR2下载地址下载试用。作为Hibernate目前最新的版本,Hibernate 3.6.0 CR2标志着距离Hibernate 3.6.0更加近了一步,同时我们所期待的新特性也更加全面的展示出来。而本次发布的Hibernate 3.6.0 CR2依然是作为功能的改进和bug修复版本,如果是在试用Hibernate 3.6.0的朋友建议升级到最新的Hibernate 3.6.0 CR2,同时笔者不建议在生产环境中使用Hibernate 3.6.0 CR2,毕竟距离Hibernate 3.6.0正式版仍然还有一段路要走,为了稳定起见还是保留之前的Hibernate 3.5系列更好。   Hibernate是Java开源界最流行的ORM框架之一,很多流行的开源框架都提供了针对Hibernate的整合与实现。在Java

Hibernate, java

Hibernate 3.6.0 Beta4下载_Hibernate 3.6.0下载_Hibernate 3.6.0

  Hibernate 3.6.0 Beta4下载地址发布了,关注Hibernate 3.6.0的朋友可以去Hibernate官方获取最新的Hibernate 3.6.0 Beta4下载地址下载试用的说。Hibernate 3.6.0是目前Hibernate系列产品的最新版本,包含了大量的新特性和功能改进。而与之前的Hibernate 3.6.0第三个beta版本相比,本次发布的Hibernate 3.6.0 beta4的工作重点是在文档方面。Hibernate开发团队计划将本次整理的文档归纳为两本书,一本是“a Getting Started Guide”,另一本是“a Developer Guide”。当然作为发行版的Hibernate 3.6.0 Beta4也包含了大量的bug修复和功能改进,想体验Hibernate 3.6.0 Beta4新特性的朋友布防去官方获取最新的Hibernate 3.6.0

Hibernate, java

Hibernate Search 3.3 Beta1下载_Hibernate Search 3.3下载_Hibernate Search 3.3

  Hibernate Search 3.3第一个beta版本-Hibernate Search 3.3 Beta1下载地址发布了,关注Hibernate Search的朋友可以去官方获取最新的Hibernate Search 3.3 Beta1下载地址下载试用。本次发布的Hibernate Search 3.3 Beta1最大的特性就是引入了Hibernate Search query DSL,要知道编写Lucene查询并不是一件容易的事情,尤其是当lucene检索建立在面向对象的Hibernate之上的时候,改问题更加明显。由于Hibernate Search query DSL的引入,Hibernate隐藏了创建索引和查询过程中将对象于索引、查询字符串的转换的细节(类似Hibernate的ResultTransformer),让用户可以使用Hibernate风格进行Lucene检索。同时Hibernate Search

Hibernate, java

Hibernate 3.6.0 Beta3下载_Hibernate 3.6.0下载_Hibernate 3.6.0

  Hibernate 3.6.0 Beta3下载地址发布了,作为Hibernate系列的最新产品,Hibernate 3.6.0已经进入到了第三个beta版的阶段,相信Hibernate 3.6.0正式版很快就会与大家见面了。不过对于喜欢尝鲜的朋友来说,使用Hibernate 3.6.0 Beta3作为测试使用应该是可以的了,毕竟用于体验新功能的同时还能为开源作些贡献提供下bug反馈等等。本次发布的Hibernate 3.6.0 Beta3除了修复了大量bug之外,同时也包含了一些功能的改进,因为是与Hibernate 3.5.5同步发布,因此貌似一些改进与Hibernate 3.5.5中十分类似。 Hibernate 3.6.0 Beta3主要改进包括: Hibernate 3.6.0 Beta3跳过了”irrelevant”模块的开发 Hibernate 3.6.0 Beta3增加了部署site.xml文件

Hibernate, java

Hibernate 3.5.5下载_Hibernate下载_Hibernate 3.5.5

  Hibernate 3.5.5下载地址发布了,关注Hibernate的朋友可以去JBoss官方获取最新的Hibernate 3.5.5下载地址下载试用。Hibernate 3.5.5是HibernateHibernate 3.5系列的第五个小版本的更新,包含了不少bug的修复,同时也带来了一些功能的改进,同时更新列表中还包含了两个补丁的引入总体来说Hibernate 3.5.5仍然算是一个bug修复版本,因此强烈建议现有Hibernate用户下载升级到最新的Hibernate 3.5.5。   Hibernate是Java开源界最流行的ORM框架之一,很多流行的开源框架都提供了针对Hibernate的整合与实现。在Java ORM界曾经一度是EJB的天下,直到Spring framework的出现几乎结束了EJB 1.0于EJB 2.0的时代也正式由于Spring Framework的发展同时也推动的Hibenate的流行。或许是在Hibernate的影响下,以前收费的TopLink这样的ORM框架也开源了。作为笔者使用最多的ORM工具来说,Hibernate带给笔者的更多的是开发效率的提升,当然某些功能让然需要通过SQL解决,但绝大部分都是Hibernate在起作用。对于Java web开发人员Hibernate绝对值得学习。 Hibernate 3.5.5主要改进包括: Hibernate 3.5.5重写了AliasToBeanResultTransformer中的equals()方法,同时修正了其hashCode()方法。 Hibernate 3.5.5改进了JPAQL查询渲染功能,同时修改了别名哟功能有随机索引的为问题

Scroll to Top