自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (102)
  • 收藏
  • 关注

原创 四种并发异常,四种相应的隔离级别--数据库事务的复习

印象中这是在博客里第三次重提数据库事务的隔离级别了。这一块内容有一点绕,当时弄明白了,过一段时间又会忘记。我觉得掌握数据库事务隔离级别的窍门在于:罗列出事务在并发时会发生哪些异常情况,什么样的隔离级别会杜绝这种异常情况的发生。下面就按照这个思路把数据库事务隔离级别再复习一遍。      第一种可能出现的异常情况:丢失更新(Lost Update)数据库事务隔离级别:Read Uncommitted

2010-05-26 17:27:00 9867 1

原创 关于Boolean类型在flex与java中间传递的问题

  最近在开发过程中发现一个问题:Boolean类型的值无法在flex和java间传递,经过一段研究发现,问题出现在Boolean类型的getter和setter方法上。      按照javabean的规范,小布尔类型的getter是以is做前缀的,但是大布尔类型的getter就成了以get为前缀了(大布尔作为引用类型,已经被视为普通的Object了)。例如:  对于字段

2010-05-26 11:18:00 6069

原创 Join取代不了Fetch,Fetch的独到之处在于打通了对象间的关联关系

确认一个问题:1.通过Join获得的集合,即使是集合的全体,在通过它的宿主对象访问这个集合时,还是会重新生成SQL来加载这个集合?验证结果:的确如此。看来Hibernate还没有如此智能。这个问题也从侧面解释了join和fetch的不同:join可以有过滤条件,不一定会将关联对象全部取出。但是fetch总是是将关联对象全部取出的。经过join加载出的对象应被视为独立的个体,

2010-05-16 11:51:00 4580

原创 如何抓取平行集合

join抓取两个以上的平行集合会产生笛卡尔积,而如果使用subselect抓取又会失去动态抓取集合其他依赖对象的机会。要怎样才能动态地抓取平行集合呢?目前我能想到的一种方法就是生成多条select,分别抓取平行集合。我觉得这并不是一个很完美的方案,但是它却实是可行的。以Forum为例,在某个use case中我们需要加载一个Forum,同时要显示它的所有Thread以及Moderator.

2010-05-12 10:39:00 4794

原创 关于idbag

前一篇文章提到了不能抓取两个以上的平行bag,而idbag是不存在这个问题的。原因就在于idbag会为其每个元素生成一个id,这样就可以区分不同元素了。bad因为无法区分元素带来了两个大问题:1.bag集合的更新效率非常低。因为对于一个修改过的bag集合,hibernate无法准确得知修改的元素对应于数据库中那一条记录,这样,hibernate就无法准确更新变动的记录,它只能把所有元素删除,再将集

2010-05-11 18:16:00 4943

原创 为什么Hibernate不允许同时抓取两个和两个以上的平行bag集合

在hibernate中, 如果试图同时抓取两个或两个以上平行的bag集合,会抛出这个异常:org.hibernate.HibernateException: cannot simultaneously fetch multiple bags。对于这种情况,Hibernate文档给出的解释是:The resultset of a product can’t be converted into

2010-05-11 16:10:00 5131

原创 JPA和Hibernate抓取策略的差异

Hibernate和JPA的抓取策略是有差异的。这一点在使用JPA注解时会有所体现。有时候我们需要添加一些hibernate独有的注解才能实现比较好的抓取。下面简单提几点。      所谓“抓取策略”,总要涉及两个问:何时抓取以及如果抓取。这两点在Hibernate提供的注解上体现的非常明显。Hibernate提供两套注解分别用来描述“何时抓取”和“如何抓取”。这样

2010-05-10 18:07:00 7637

原创 Hibernate的四种抓取策略

subselect fetching是hibernate特有的抓取策略。它在抓取时机上有些介于lazy和eager之间(只是这样说,它实际上是配合lazy的一种抓取策略)。 一方面,它是在集合第一次被访问时才进行抓取,这有一些lazy的意味。但同时它的确预先抓取了一些“额外”的数据出来,而这些数据是要在后面使用到的,从而避免了多次select,这又有些eager的意味。 subselect比sel

2010-05-10 11:00:00 4862

原创 在Hibernate环境下对大型集合的处理

在Hibernate环境下,对大型集合的访问管理是一个非常值得重视的问题。一次将大型集合加载到内存是不能容忍的。因此在操作这种集合时要特别小心。下面给出一些建议。1.使用@org.hibernate.annotations.LazyCollection(org.hibernate.annotations.LazyCollectionOption.EXTRA)注解大型集合,确保在访问集合的s

2010-05-10 10:51:00 4806

原创 两种极端情况的案例:N+1次查询和笛卡尔积

前一篇文章两种极端:频繁的查询和巨大的结果集讲到了Hibernate加载数据时可能会出现的两种极端情况:频繁的查询和一次查出巨大的结果集。其中:N+1次查询是前一种情况的一个典型案例,笛卡尔积则是后一种情况的典型案例。下面分别简单地再总结一下这两种极端案例出现的原因以及调优方法。 一.N+1次查询    如果一个集合是lazy loading的,那么在第一次访问到这个集合时,hib

2010-05-09 14:57:00 6013

原创 两种极端:频繁的查询和巨大的结果集

写到这篇文章时,我们可以对Hibernate的性能调优策略做一个宏观的剖析了。当系统访问一个实体时,Hibernate会到数据库中提取相应数据封装成实体供程序使用,但大多数情况下问题并不是这样简单。对象模型由很多实体和值对象组成,它们之间相互依赖,构成一张复杂的“对象图”。从一个指定的对象开始,我们可以导航到与这个对象有直接或间接关系的任何对象上。再回到我们一开始的问题:你怎样从数据库中重建这个对

2010-05-09 11:16:00 5432

原创 Join和Fetch

      join和join fetch是两回事,不要搞混! join取自SQL的join概念。被join的对象一般会出现在select,where等其他子句中。因为join的目的在于要对被join的对象做处理,比如过滤等等。     fetch则是抓取策略!它的作用就是指明root entity的哪些关联对象会在load这个entity时一同被load出来!因此,fetch的对象一般是没有

2010-05-09 10:08:00 12052

原创 HQL&Criteria

Obviously, criteria queries are more difficult to read if they get more complex—a good reason to prefer them for dynamic and programmatic query generation, but to use externalized HQL and JPA QL for p

2010-05-06 22:46:00 4621

原创 Hibernate的抓取策略

1.制定合理的抓取策略对系统性能的提升有很大的作用。Hibernate推荐的原则是:通常情况下,我们并不使用映射文档进行抓取策略的定制。更多的是,保持其默认值,然后在特定的事务中, 使用 HQL 的左连接抓取(left join fetch) 对其进行重载。 hibernate推荐的做法也是最佳实践:把所有对象关联的抓取都设为lazy!然后在特定事务中重载! 这种考虑是基于:对象图

2010-05-05 18:07:00 10557 2

原创 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题

关于这个问题在JPwH一书的13.2.3一节中做了详细的描述!例子:ForumGroup和Forum public class ForumGroup { @OneToMany(fetch=FetchType.EAGER,mappedBy="group") private List forums = new ArrayList();}public class Forum {

2010-05-05 15:03:00 9067 3

原创 关于集合的性能问题

1.Bag 是所有非反向集合类型中性能最差的(但却是反向集合中性能最好的,还有list。)。因为 bag 允许重复的元素值,也没有索引字段,因此不可能定义主键。Hibernate 无法判断出重复的行。当这种集合被更改时,Hibernate 将会先完整地移除 (通过一个(in a single DELETE))整个集合,然后再重新创建整个集合。因此 Bag 在非反向集合中是非常低效的。这一点我已

2010-05-03 22:51:00 5002

原创 关于save和persist

persist() is well defined. It makes a transient instance persistent. However, it doesnt guarantee that the identifier value will be assigned to the persistent instance immediately, the assignment mig

2010-05-03 21:56:00 5509

原创 级联与Session操作

Hibernate的每一种级联设置都对应一个Session的方法。当调用这个方法去处理一个实体时,如果实体有关联对象配制了这种方法对应级联,那么关联对象将被一样地处理!总共提供以下几种级联设置:package org.hibernate.annotations;/** * Cascade types (can override default EJB3 cascades */pub

2010-05-03 17:09:00 5232

原创 关于值对象与实体的再讨论

在领域模型中,实体与值对象的概念非常重要,Hibernate也要求明确区分这两者,以至于它们的映射配制上都不一样。以一对多为例,同是一个set,如果是实体会使用,@OneToMany,如果是值对象,会使用,@CollectionOfElements.实体与值对象的一个重要区别在于:实体有自己的生命周期,而值对象没有,它总是依附于一个实体,如果这个实体不存在了,那么它也将一同消亡。这一点在hib

2010-05-03 10:59:00 7346

原创 关于为什么单向一对多(one-to-many)要使用关联表的再思考

在传统的数据建模中,允许为 Null 值的外键被认为是一种不好的实践,。这并不是 Hibernate的要求.---Hibernate文档2013年1月29日:补充:简单地说,数据库的外键关联所描述的最严格与最精准的事物关系应该是像“子-父”这样的单向多对一关系,也即,“子”必有“父”!而反方向的一对多的关系并不是其所能准确描述,原因就是“父”未必有“子”,所以从这个角度上说,使用关联表描述单向一对

2010-05-02 16:40:00 8044 2

Big_Data_SMACK.pdf

SMACK(Spark, Mesos, Akka, Cassandra, Kafka) 这本书讲解了大数据的一种技术架构选型:SMACK涉及的方方面面。

2016-10-14

Spring in Action, 4th Edition

Spring in Action, 4th Edition

2015-02-24

spring mvc简介/快速上手 PPT

这是一个对spring mvc的一个简介,可以让第一次接触spring mvc的开发人员快速上手,非常不错。

2014-08-22

The.Art.of.Multiprocessor.Programming.Revised.Reprint

The.Art.of.Multiprocessor.Programming.Revised.Reprint

2014-02-06

Techsmith Snagit 11.3.0.107 含注册码

Techsmith Snagit 11.3.0.107 含注册码

2013-12-22

RESTful Java with JAX-RS 2.0

RESTful Java with JAX-RS 2.0.pdf

2013-12-22

win7下硬盘安装Linux(Fedora17,CentOS 6.4,Ubuntu 12.10,LinuxMint 13 64-bit)

特别说明: 以Centos6.4 为例,安装程序超过4G,可以开辟一个ext3分区,将安装文件置于该分区,这个可以在windows下依赖工具Ext2Fsd完成,这是一个能够在Windows上读写EXT2/3文件系统的工具. 另该分区可以直接作为系统安装时的目标分区,不会有任何问题.

2013-08-16

log4j.xml template

一个比较通用的log4j.xml配置模板

2013-08-14

log4e pro 1.4.2 含注册码

log4e pro 1.4.2 含注册码

2013-08-14

Code Complete 2nd Edition

这是标准的PDF版,不是之前从CHM转换的版本,看上去整洁清晰。

2013-04-22

Apress.Beginning.jQuery.Feb.2013

Apress.Beginning.jQuery.Feb.2013.

2013-03-24

Packtpub.Hadoop.MapReduce.Cookbook.Jan.2013

Packtpub.Hadoop.MapReduce.Cookbook.Jan.2013,最新出版的hadoop的书。

2013-03-04

Code Complete, 2nd Edition.pdf

完备的英文版Code Complete, 2nd Edition.pdf

2013-02-19

OpenSSH for Windows

OpenSSH for Windows, 内附两个cyg相关文件,如果安装后无法启动opensshd服务,请使用这两个文件覆盖安装目录\bin\下的对应文件。

2013-02-06

Professional Website Performance.pdf

Wrox Professional Website Performance Nov 2012 pdf 一本讲述站点调优的好书

2013-02-04

Spring.Security.3.1

Packtpub.Spring.Security.3.1.Dec.2012.rar 最新的Spring.Security.3.1技术图书

2013-01-29

Red.Gate.SQL.Toolbelt.v1.8.2.238.Incl.Keygen

Red.Gate.SQL.Toolbelt.v1.8.2.238.Incl.Keygen SQL Toolbelt Bundle是套可以用于开发SQL Server数据库的辅助开发工具包。16个数据库服务器工具在一个单一的安装程序包,相比分别购买节省65%以上。

2013-01-14

《程序员》杂志2012年第10期.pdf

高清《程序员》杂志2012年第10期.pdf

2013-01-07

Araxis.Merge.Professional.v2012.4260-BEAN

Araxis.Merge.Professional.v2012.4260-BEAN

2012-12-27

Araxis.Merge.Professional.v2012.4260.x64-BEAN

Araxis Merge Professional v2012 4260 x64 BEAN rar

2012-12-27

Apress.Pro.SQL.Server.2012.Practices.Nov.2012

Apress.Pro.SQL.Server.2012.Practices.Nov.2012

2012-12-24

绝对PE工具箱 Win7可用

一个非常好的PE工具箱,可在windows 7下使用

2012-12-05

GVIM中文帮助文档 vimcdoc-1.8.0-setup-unicode.exe

GVIM中文帮助文档 vimcdoc-1.8.0-setup-unicode.exe

2012-11-27

《程序员》杂志2012年第9期

高清pdf 《程序员》杂志2012年第9期

2012-11-01

eclipse editor template file

自己用的eclipse editor template file

2012-10-17

JavaScript.The.Definitive.Guide.6th.Edition.Apr.2011

JavaScript.The.Definitive.Guide.6th.Edition.Apr.2011 很好,很全面~~

2012-09-29

Professional JavaScript for Web Developers, 3rd Edition 附书中代码

Professional JavaScript for Web Developers, 3rd Edition 最新的版本,同时附书中代码

2012-09-19

PowerCmd 2.2 含注册码

最新版本的PowerCmd 2.2 含注册码。这是一个非常好的windows下 命令行增强工具

2012-09-18

Head.First.HTML.and.CSS.2nd.Edition.Aug.2012

Head.First.HTML.and.CSS.2nd.Edition.Aug.2012 此书目前最新版本

2012-09-11

Packtpub.Spring.Security.3.May.2010

Packtpub.Spring.Security.3.May.2010 可能是目前唯一一本专门介绍spring security的书籍了。

2012-09-10

Pro Apache Log4j Second Edition

Pro Apache Log4j Second Edition 是一本讲述如何使用log4j的书,比较全面和系统。

2012-09-06

Practical Load Balancing

Practical Load Balancing 一本讲述在系统各个层面上的负载均衡技术的好书!!

2012-09-03

Hadoop权威指南(中文第2版)

Hadoop权威指南(中文第2版) 高清的

2012-08-30

Hadoop in Action 完整版

Hadoop in Action 15M 完整版 学习hadoop的非常好的入门资料。

2012-08-27

Web Performance Daybook Volume 2

Web Performance Daybook Volume 2 是一本web开发不错的参考书

2012-08-03

Using Memcached

一本介绍如何使用memcached的非常不错的好书。

2012-08-03

Skype 5.10.32.114 国际版 最新版

目前最新的skype国际版 Skype 5.10.32.114 找一个国际版不容易,特别是最新的哦。

2012-06-27

PowerDesigner16.1 crack keygen 破解文件

这是最新PowerDesigner16.1的破解文件,在win7 64位下可以正常安装使用,本人已亲自验证。这是对应官方安装文件的下载地址:http://download.sybase.com/eval/PowerDesigner/PowerDesigner161_DMR.exe 破解放方法只需要将文件覆盖到安装目录即可。

2012-06-21

SecureCRT.v6.7.3.292(含注册码和破解补丁),

SecureCRT.v6.7.3.292(含注册码和破解补丁),最新最好的版本,完全破解! 破解时进行patch,然后再填入key,user等信息!

2012-06-13

SecureCRT.v6.7.3.292.x64(含注册码和破解补丁)

SecureCRT.v6.7.3.292.x64(含注册码和破解补丁),最新最好的版本,完全破解! 破解时进行patch,然后再填入key,user等信息!

2012-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除