Hibernate
shliuzw
这个作者很懒,什么都没留下…
展开
-
基于Hibernate3.2 Hibernate tools 的使用
由于新发布的Hibernate Tools是一个比较庞大的工具包 而且已经是作为Eclipse3.2 的插件发布的 然而以前的很有用的工具hbm2java和hbm2ddl都是非常有用的工具所以我们应该把这些有用的工具找出来继续使用 环境jdk-1_5_0_07ant 1.6.5Hibernate 3.2 cr2Hibernate Tools-3.2.0.beta6原创 2008-12-29 10:53:00 · 3805 阅读 · 0 评论 -
Hibernate一对多,多对一,多对多,一对一关系汇总
Hibernate如果上手了,那么所谓的一对多,多对一,多对多,一对一这些关系,应该很快能理解.下面就把这几种关系简单说一下.本文中用到的三个实例化类分别为Customer(保存客户基本信息),CustomerDetails(保存客户详细信息),CustomerBack(中间表,保存两表之间的关联)对应的表功能同上.说明中的主表指Customer,子表指CustomerDetail原创 2009-06-04 15:45:00 · 1491 阅读 · 0 评论 -
优化报表查询的性能
当select语句仅仅选择查询持久化类的部分属性时,Hibernate返回的查询结果为关系数据,而非持久化对象。例如:from Customer c inner join c.orders o group by c.ageselect c.id,c.name,c.age,o.id,o.order_number,o.customer_id from Customer c inner join原创 2009-08-07 13:55:00 · 1011 阅读 · 0 评论 -
本地SQL查询
为了把SQL查询返回的关系数据映射为对象,需要在SQL查询语句中为字段指定别名,例如:String sql = "select cs.id as {c.id},cs,name as {c.name},cs.age as {c.age} from CUSTOMERS cs"Query query = session.createSQLQuery(sql,"c",Customer.class)原创 2009-08-07 14:36:00 · 791 阅读 · 0 评论 -
与触发器协同工作
当Hibernate与数据库中的触发器协同工作时,会造成两类问题:1)触发器使Session的缓存中的数据与数据库不一致2)Session的update()方法盲目地激发触发器解决方法: 1)触发器使Session的缓存中的数据与数据库不一致 若对象Customer中registTime字段,其值由数据库在执行insert、update时赋值。但是当Hibernate执原创 2009-08-07 10:04:00 · 747 阅读 · 0 评论 -
如何识别Hibernate对象时临时对象
满足以下情况之一,Hibernate就把它作为临时对象。1 Java对象的OID取值为null2 Java对象具有version属性并且取值为null3 在映射文件中为元素设置了unsaved-value属性,并且OID取值与unsaved-value属性值匹配4 在映射文件中为version属性设置了unsaved-value属性,并且version属性取值与unsaved-va原创 2009-08-07 09:21:00 · 690 阅读 · 0 评论 -
级联操作
在对象-关系映射文件中,用于映射持久化类之间关联关系的元素,如,,元素,都有一个cascade属性,它用于指定如何操纵与当前对象关联的其他对象。 none:在保存,更新或删除当前对象时,忽略其他关联的对象。他是cascade属性的默认值。save-update:当通过Session的save(),update()以及saveOrUpdate()方法类保存或更新当前对象时,级联保存所原创 2009-08-07 09:01:00 · 1116 阅读 · 0 评论 -
Spring AOP+ehCache简单缓存系统解决方案
需要使用Spring来实现一个Cache简单的解决方案,具体需求如下:使用任意一个现有开源Cache Framework,要求可以Cache系统中Service或则DAO层的get/find等方法返回结果,如果数据更新(使用Create/update/delete方法),则刷新cache中相应的内容。 根据需求,计划使用Spring AOP + ehCache来实现这个功能,采用ehCache原因原创 2009-03-12 14:01:00 · 2978 阅读 · 1 评论 -
hibernate二级缓存攻略
很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。 我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。 hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效原创 2009-03-11 16:04:00 · 739 阅读 · 0 评论 -
Ehcache页面缓存的使用
关于缓存的话题,在坛子里已经有很多讨论,简单的来说,如果一个应用中80% 的时间内都在访问20% 的数据,那么,这时候就应该使用缓存了。这个和长尾理论正好相悖,其实也不是相悖,只是不同的理论使用的场景不同。在80/20 原则生效的地方,我们都应该考虑是否可以使用缓存。但即使是这样,缓存也有不同的用法,举个例子,一个网站的首页估计是被访问的次数最多的,我们可以考虑给首页做一个页面缓存,而如果在原创 2009-03-11 16:17:00 · 1439 阅读 · 0 评论 -
hibernate lazy装载数据
在web.xml文件中增加一下内容时,实体类中lazy加载数据的属性,就可在使用时,跨越session是否关闭的状态 lazyLoadingFilter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter lazyLoadingFilter /*原创 2008-12-21 17:35:00 · 723 阅读 · 0 评论 -
@OneToOne实例
1)Person.java import java.io.Serializable; import java.util.Date; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persist原创 2009-08-14 09:06:00 · 40043 阅读 · 4 评论