2007-09-30

个人总结

关键字: 个人总结
在多数情况下,不提倡通过Session的evict()方法和clear()方法来管理第一级缓存,因为它们并不能显著提高应用的性能。管理第一级缓存的最有效的方法是采用合理的检索策略和检索方式,如通过延迟加载,集合过滤或投影查询等手段来节省内存的开销。       临时状态,持久状态,游离状态    save()临时->持久    update()游离->持久    saveOrUpdate()方法先判断对 ...
2007-08-28

提升性能

关键字: 提升性能
java 代码 19.1.  抓取策略(Fetching strategies)     抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。        ...
2007-08-28

再说inverse=true

关键字: 再说inverse=true
java 代码 建议大家好好去看一下这个链接,讲的很详细,虽然是E文,可并不难懂。     http://www.hibernate.org/155.html        这篇文章里没有提到delete的情况,我就one-to-many来做个简单说明:           代码         ...
2007-08-28

hibernate 延迟加载问题探讨

关键字: hibernate 延迟加载问题探讨
hibernate 延迟加载问题探讨 但就此说一下关于lazy机制: 延迟初始化错误是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就会产生延迟初始化错误。 下面把Customer.hbm.xml文件的<class>元素的lazy属性设为true,表示使用延迟检索策略: <class name="mypack.Customer" table="CUSTOMERS" lazy="true"> 当执行Session的lo ...
2007-08-28

Hibernate的集合映射

关键字: Hibernate的集合映射
l Hibernate中将集合分为四类: 1、bag类:元素无序,可重复 2、set类:元素无序,不可重复 3、list类:元素有序,可重复 4、array类:数组 5、map类:映射关系 l 除bag类集合外,其它集合均可在Java API中找到对应接口。 Bag一般使用list来映射 <bag name="unitNames" table="unit" lazy="false" order-by="unit_id desc"> <key column="building_id"/> <element ...
2007-08-28

数据缓存(一级缓存,二级缓存,第三方缓存)

关键字: 数据缓存(一级缓存,二级缓存,第三方缓存)
java 代码 首先要知道为什么要缓存,我们的项目往往要数据库不会布署在同一个服务器上,那么如果我们的项目要频烦的操作数据库如果没有缓存,速度就会很慢,因为每访问都是一次远程调用,Socket的创建和销毁,数据的打包和拆包,数据查询命令,网络的延时,等等。       那下面说说缓存。缓存就是把数据库的数据在本地建一个备份放进内存。我们在次查找数据库的时候就先去本地内存中查找,这样相对起来,缓存的好处就一目了然了。       缓存分为三类  &n ...
2007-08-28

hibernate二级缓存设置方法

关键字: hibernate二级缓存设置方法
xml 代码 二级缓存配置:       1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置:    <property name="hibernate.cache.use_second_level_cache">true</property>      2、Hibernate的二级缓存使用第三方的缓存工具来实现,所以我们需要指定Hibernate ...
2007-08-20

HQL经典语句

关键字: HQL经典语句
HQL经典语句    Hib的检索方式 1'导航对象图检索方式。通过已经加载的对象,调用.iterator()方法可以得到order对象 如果是首次执行此方法,Hib会从数据库加载关联的order对象,否则就从缓存中得到。 2'OID检索方式。通过session的get,load方法知道了OID的情况下可以使用 3'HQL检索方式。使用面向对象的HQL查询语句session的find方法利用HQL来查询 4'QBC检索方式。利用QBCAPI来检索它是封装了基于字符串的查询语句 5'本地的SQL检索方式。使用本地数据库的SQL查询语句Hib会负责把检索到的J ...
2007-08-20

Hibernate HQL查询

关键字: Hibernate HQL查询
 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形势如下: Select/update/delete…… from …… where …… group ...