
Hibernate
iteye_13651
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
不建议把po直接应用于表现层,强烈建议把po和vo分开使用
不建议把po直接应用于表现层,强烈建议把po和vo分开使用 UserAction.java /** 保存 */ public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserPo usrP...2007-12-01 15:13:36 · 984 阅读 · 0 评论 -
Hibernate迫切左外连接left join fetch
建议在一多对关联中在"一"方用延迟加载"多"方 可以在HQL中显式的"迫切左外连接" left join fetch这样做Hibernate可以少访问数据库,也可以用"@BatchSize(size = 5)"来减少访问数据库的次数 User.java 一方 @Entity@Table(name = "tbl_user")@org.hibernate.annotations...2009-04-20 17:14:59 · 638 阅读 · 0 评论 -
hibernate的各种保存方式的区别 (save,persist,update,saveOrUpd
hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached下边是常见的翻译办法:transient:瞬态或者自由态persistent:持久化状态detached:脱管状态或者游离态 脱管状态的实例可...原创 2009-04-20 10:14:44 · 89 阅读 · 0 评论 -
Hibernate程序性能优化的考虑要点
初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。 大体上,对于HIBERNATE性能调优的主要考虑点如下: ◆数据库设计调整 ◆HQL优化 ◆API的正确使用(如根据不同的业务类型选用不同的集合及查询API) ◆主配置参数(日志,查询缓存,fetch_size, batch_size等...原创 2009-04-14 14:36:08 · 75 阅读 · 0 评论 -
hibernate对象的三种状态
Hibernate的透明持久化用起来非常舒服,有时甚至忘记了数据库的存在。我身边的朋友经常会分不清save、saveOrUpdate、update的区别,lock、merge、replicate、refresh、evict甚至不知道是干什么用的。而且关于实体对象的生命周期也有很多概念不清,分不清transient、persistent、detached的区别,只是知道PO、VO这样的通俗叫法。其实...原创 2009-04-03 09:37:11 · 106 阅读 · 0 评论 -
有关Hibernate连接池不够的问题
最近在做一个项目(spring+hibernate)时用到了连接池,我用的是proxool连接池,配置如下: //==============数据源============== <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="...2008-07-28 22:55:17 · 388 阅读 · 0 评论 -
Hibernate配置数据源proxool
...2008-07-26 13:13:47 · 130 阅读 · 0 评论 -
Join用法,HQL的方法,Hibernate中的fetch
Join用法,HQL的方法,Hibernate中的fetch Join用法: 主要有Inner Join 及 Outer Join: 最常用的(默认是Inner): Select <要选择的字段> From <主要资料表> <Join 方式> <次要资料表> [On <Join 规则>] Inner Jo...原创 2009-02-01 14:35:20 · 117 阅读 · 0 评论 -
JPA,在@OneToMany里加入mappedBy属性
JPA,在@OneToMany里加入mappedBy属性避免生成中间表 使用JPA的时候,如果A B两个实体间是一对多,多对一的关系,如果不在@OneToMany里加入mappedBy属性(相当于inverse=”true”)会导致自动生成一个多余的中间表。比如: @Entity public class A { @OneToMany(mappedBy="a") ...2009-01-22 15:58:42 · 2229 阅读 · 0 评论 -
Hibernate中的cascade和inverse
这两个属性都用于一多对或者多对多的关系中。而inverse特别是用于双向关系,在单向关系中我们并不需要。 Cascade代表是否执行级联操作,Inverse代表是否由己方维护关系。 Cascade: Cascade属性的可能值有 all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 ...原创 2009-01-19 14:38:24 · 87 阅读 · 0 评论 -
Hibernate多对多删除
Hibernate多对多的例子不少,但仔细一看,大多数都是保存的,删除谈的少,但问题还不少,因此有必须简单测试一下,以下我们来个简单的多对多关系建立 老师Teacher 与 课程Course 是一个多对多的关系,Pojo与XMl配置如下。 Pojo Java代码 /** * Course Entity * see table: tbl_course */ ...原创 2009-01-19 14:14:45 · 127 阅读 · 0 评论 -
Hibernate缓存
Java代码 tx=session.beginTransaction(); S s=(S)session.get(Student.class,new Integer(1)); session.evict(s); Query query=sesion.createQuery("form S"); Iterator it=query.li...原创 2009-01-15 15:45:41 · 104 阅读 · 0 评论 -
Session缓存
缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. Hibernate缓存分类:...原创 2009-01-15 14:54:52 · 162 阅读 · 0 评论 -
有关Hibrnate中inverse的配置
1.现在假设有两个类Customer与Order,一个Customer可以有多个Order 2.如果在Customer.hbm.xml中设置inverse=true,那么代表customer与order的关系由order来维护,就是说如果采用Customer c=customerDao.findById("1"),c.getOrders.add(new Order()),那么在数据库层面表现为,首...原创 2009-01-15 14:37:23 · 116 阅读 · 0 评论 -
Hibernate Session的Flush模式
Hibernate Session的Flush模式 首先要知道的是: Hibernate会尽量将与数据库的操作延迟,直到必须要与数据库进行交互,例如save方法一般会在提交时才真正执行,最终在提交时会以批处理的方式与数据库进行交互,以提高效率。 而将操作延迟,就是利用缓存,将最后要处理的操作放到缓存中。 flush方法的主要作用就是清理缓存,强制数据库与Hibernate缓...原创 2009-10-13 18:16:05 · 98 阅读 · 0 评论