??xml version="1.0" encoding="utf-8" standalone="yes"?>川上优的av在线一区二区,亚洲人成77777男人,国产成人tv http://www.aygfsteel.com/robbie/category/36350.htmlzh-cn Tue, 15 May 2012 21:15:05 GMT Tue, 15 May 2012 21:15:05 GMT 60 关于Hibernate分页、Fetch Join调优的一好文章 http://www.aygfsteel.com/robbie/archive/2012/05/14/378095.htmlThe Matrix The Matrix Mon, 14 May 2012 06:28:00 GMT http://www.aygfsteel.com/robbie/archive/2012/05/14/378095.html http://www.aygfsteel.com/robbie/comments/378095.html http://www.aygfsteel.com/robbie/archive/2012/05/14/378095.html#Feedback 0 http://www.aygfsteel.com/robbie/comments/commentRss/378095.html http://www.aygfsteel.com/robbie/services/trackbacks/378095.html http://java.dzone.com/articles/hibernate-tuning-queries-using?page=0,0 ]]> 没有HibernateӞ我们怎么做项?amp;hellip;… http://www.aygfsteel.com/robbie/archive/2009/07/06/285719.htmlThe Matrix The Matrix Mon, 06 Jul 2009 14:06:00 GMT http://www.aygfsteel.com/robbie/archive/2009/07/06/285719.html 最q在做一个很的目的功能改q,小的项目中原来q接的是MySQL数据库,现在需要新q接一个数据库QOracleQ,仅仅从一张表查询数据卛_Q没有添加、修攏V删除等{功能。本来这个小的目中用的是HibernateQ现在又要增加一个数据库q接Q觉得配|v来有炚w烦,忽然惌v来,我干吗还要用Hibernate呢,直接用JDBC不也挺好使么Q想了便做,果然写vJDBC来,很是快捷Q一?x)就搞好了?/p>
做好了以后,忽然觉得有点qQ感觉不用Hibernate不也挺好的么Q咱Z么现在开口闭口都是Hibernate呢,于是便有了今天的题目?/p>
很久以前没有Hibernate的时候:(x)
W一阶段Q我们写E序都是直接用JDBCQ甚臛_JSP面中直接去createConnectionQ然后执行查询,输出到页面?/p>
W二阶段Q后来觉得每ơ都是创Z个连接,好像效率不高Q于是看了别人的介绍Q要用数据库q接池,好的Q那便用数据库连接池吧,每次都从pool中获得一个ConnectionQ然后查询数据?/p>
W三阶段Q用了连接池Q还是效率不高,那怎么办呢Q用~存吧,自己实现~存Q可以,也可以用开源的~存框架?/p>
W四阶段Q到了OO大流行的时代了,一切都要OOQ恰逢Hibernate降(f)ZQ于是一切都用Hibernate来实CQ其实同期还是有不少其它ORMAP框架的,比如QTOPLINK、JDO、IBatis{,IBatis国内用的q比较多Q另外两个好像用的比较少Q?/p>
W五阶段Q忽然EJB大流行,事务的概念被qؓ(f)传播Qƈ不是原来没有事务的概念,只是实现h比较ȝQ,借助EJB的广Z播,Spring+Hibernate的组合也慢慢占据了大半市场。此时事务用Spring AOP的声明式事务来解冻I~存可以用开源的~存框架Q已l和Hibernate无缝集成了)Q数据库q接池也是通过配置的方式在SpringContext.xml文g中配|,貌似一切都很完?/p>
真的CW五阶段Q一切是不是真的完美了呢Q如果一个很的应用Q需要从好几个数据库查询数据Q但是每个数据库仅需要查询那么一两张表的数据Q偶?dng)添加、删除几条数据,数据量也不大Q此时我们是不是q用W一阶段的方式会(x)更好呢,好像有时配置多数据源也不是那么方便的事情。或者用Spring中的JDBCTemplateQ貌g不错?/p>
再往后看Q难道Spring+Hibernate的组合就天下无敌了么Q难道就没有新的框架了么Q前D|_JavaEye上关于充血模型、血模型的讨论吸引了多少眼球Q以后是不是?x)有q么一个框架用于实现充血模型呢?
说了q么多,最l只是想说明白这么一句:(x)用恰当的技术做恰当的事情,q真是一个艰隄选择……Q至于未来,更是qQ因为我们只是跟随者,而不是领D?/p>
]]> Hibernate~存配置 http://www.aygfsteel.com/robbie/archive/2009/04/07/264359.htmlThe Matrix The Matrix Tue, 07 Apr 2009 14:54:00 GMT http://www.aygfsteel.com/robbie/archive/2009/04/07/264359.html http://www.aygfsteel.com/robbie/comments/264359.html http://www.aygfsteel.com/robbie/archive/2009/04/07/264359.html#Feedback 3 http://www.aygfsteel.com/robbie/comments/commentRss/264359.html http://www.aygfsteel.com/robbie/services/trackbacks/264359.html q篇Blog是原来写在别的地方的Q今天将其{到BlogJava上来?br />
-------------------------------------------------------------------------------
今天仔仔l细的看了一下Hibernate的缓存,q做了实例实践了一把。google一下,|上的教E、文章很多?br />
自己结一下:(x)
Hibernate的缓存分为:(x)
一U缓存:(x)在SessionU别的,在Session关闭的时候,一U缓存就失效了?
二~存Q在SessionFactoryU别的,它可以用不同的~存实现Q如EhCache、JBossCache、OsCache{?
~存的注释写法如下,加在Entity的javacMQ?/p>
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
~存的方式有四种Q分别ؓ(f)Q?/p>
CacheConcurrencyStrategy.NONE
CacheConcurrencyStrategy.READ_ONLYQ只L式,在此模式下,如果Ҏ(gu)据进行更新操作,?x)有异常Q?
CacheConcurrencyStrategy.READ_WRITEQ读写模式在更新~存的时候会(x)把缓存里面的数据换成一个锁Q其它事务如果去取相应的~存数据Q发现被锁了Q直接就L据库查询Q?
CacheConcurrencyStrategy.NONSTRICT_READ_WRITEQ不严格的读写模式则不会(x)的缓存数据加锁;
CacheConcurrencyStrategy.TRANSACTIONALQ事务模式指~存支持事务Q当事务回滚Ӟ~存也能回滚Q只支持JTA环境?
另外q有如下注意事项Q?/p>
1、查询缓存需要在Query的相应方法执行前加上q么一句:(x)
query.setCacheable(true);
在用HibernateӞ获得的query有setCacheableҎ(gu)Q可以设|用缓存,但当使用JPAӞjavax.persistence.Queryq没有setCacheableҎ(gu)Q此时如果JPA的实现是HibernateӞ可以其q行如下转化Q再调用setCacheableҎ(gu)Q如果JPA的实现是其它ORMAP框架Q就不知道怎么做了Q?/p>
if (query instanceof org.hibernate.ejb.QueryImpl) {
((org.hibernate.ejb.QueryImpl) query).getHibernateQuery().setCacheable( true );
}
2、还有就是查询缓存的查询执行后,?x)将查询l果攑օ二~存中,但是攑օ的Ş式是以ID为KeyQ实例作Z个Value?/p>
3、hibernate的配|文件中需加入如下信息Q?br />
< property name ="hibernate.cache.provider_class" value ="org.hibernate.cache.EhCacheProvider" />
< property name ="hibernate.cache.use_second_level_cache" value ="true" />
< property name ="hibernate.cache.use_query_cache" value ="true" />
]]>JBoss Envers http://www.aygfsteel.com/robbie/archive/2008/12/04/244266.htmlThe Matrix The Matrix Thu, 04 Dec 2008 01:04:00 GMT http://www.aygfsteel.com/robbie/archive/2008/12/04/244266.html http://www.aygfsteel.com/robbie/comments/244266.html http://www.aygfsteel.com/robbie/archive/2008/12/04/244266.html#Feedback 0 http://www.aygfsteel.com/robbie/comments/commentRss/244266.html http://www.aygfsteel.com/robbie/services/trackbacks/244266.html JBoss Envers目的是根据对实体的设|,提供记录执行数据变更历史的功?数据变更版本)。Envers的配|非常简单,如果需要对某个实例q行历史数据版本记录Q只需要在实例上配|@Versioned annotation卛_。针Ҏ(gu)个实体的版本的历史数?Envers都会(x)创徏一个单独的数据表进行存储?/p> 目前Envers支持Hibernate和Hibernate-entitymanager(JPA实现).
q个特点在需要对历史数据q行存档时很实用Q而且目前Envers已经合ƈ到Hibernate的新版本中去了,使用h更方便,具体Hibernate哪个不太清楚?/p>
留个印记..............
]]> Hibernate Search http://www.aygfsteel.com/robbie/archive/2008/12/01/243686.htmlThe Matrix The Matrix Mon, 01 Dec 2008 04:59:00 GMT http://www.aygfsteel.com/robbie/archive/2008/12/01/243686.html http://www.aygfsteel.com/robbie/comments/243686.html http://www.aygfsteel.com/robbie/archive/2008/12/01/243686.html#Feedback 0 http://www.aygfsteel.com/robbie/comments/commentRss/243686.html http://www.aygfsteel.com/robbie/services/trackbacks/243686.html 今天?a title="http://refcardz.dzone.com/" >http://refcardz.dzone.com/上下载了《Getting Started with Hibernate Search》,乍一看标题,以ؓ(f)是讲如何使用Hibernateq行查询操作什么的Q下载好以后打开一看,原来是Hibernate集成了luceneQ用来对自己的数据库q行全文索,真是厉害Q?/p>
没有仔细研究具体内容Q先C一W,日后有时间时Q可以实践一把?/p>
]]> Hibernate3.2 ?EJB3.0 http://www.aygfsteel.com/robbie/archive/2007/05/10/116593.htmlThe Matrix The Matrix Thu, 10 May 2007 13:08:00 GMT http://www.aygfsteel.com/robbie/archive/2007/05/10/116593.html http://www.aygfsteel.com/robbie/comments/116593.html http://www.aygfsteel.com/robbie/archive/2007/05/10/116593.html#Feedback 0 http://www.aygfsteel.com/robbie/comments/commentRss/116593.html http://www.aygfsteel.com/robbie/services/trackbacks/116593.html
看来Ҏ(gu)技术了解不够,只顾了看EJB3.0的规范了
感觉Hibernate3.2全面支持EJB3.0的规范对于EJB3的推q来说是件好事,臛_在ORMq方面,一般程序员U篏的经验可以很快速的适应EJB3.0的开发。只要l加强对EJB容器、事务处理等斚w的学?fn),可以对EJB3有全面完整的了解。比起以前EJB2.1和常用技术的格格不入而言Q真的是很大的进步了?
]]> 格式化Hibernate的SQL输出语句 http://www.aygfsteel.com/robbie/archive/2006/11/24/83383.htmlThe Matrix The Matrix Fri, 24 Nov 2006 14:24:00 GMT http://www.aygfsteel.com/robbie/archive/2006/11/24/83383.html http://www.aygfsteel.com/robbie/comments/83383.html http://www.aygfsteel.com/robbie/archive/2006/11/24/83383.html#Feedback 0 http://www.aygfsteel.com/robbie/comments/commentRss/83383.html http://www.aygfsteel.com/robbie/services/trackbacks/83383.html
如果惌仔细看Hibernate生成的SQL语句Q将format_sql设ؓ(f)true可以很大E度地减ȝ?#8230;…
hibernate.format_sql Q?true
再加上这个的话:(x)
hibernate.use_sql_comments Q?true
[可读?+ 可定位性]?x)更?br />
不过Q这两个一h的话也会(x)造成SQL在console中显C的幅很大?/font>
]]>
վ֩ģ壺
ع |
ɽ |
|
ɽ |
|
|
ƽ |
|
|
ɽ |
|
Ԫ |
Ž |
۶ |
|
|
|
|
گ |
|
躣 |
ƽ˳ |
|
廪 |
Ϫ |
|
|
|
ˮ |
|
|
Ұ |
|
|
|
|
|
|
² |
̶ |
ֹ |