
Hibernate学习
xrt95050
喜欢NBA,最喜欢的球星是科比。
喜欢音乐,喜欢上网。
展开
-
ThreadLocal模式下管理的Session会在事务提交后自动关闭
最近对Hibernate的ThreadLocal Session模式有点兴趣。于是根据曹晓钢翻译的Hibernate Reference做了个小测验,结果发现了一个小bug。 代码很简单,都是利用Hibernate Reference中现成的代码。 首先是一个辅助的得到线程安全的session的HibernateUtil类,public class HibernateUtil转载 2008-08-25 11:10:00 · 4967 阅读 · 0 评论 -
Hibernate关联关系配置(一对多、一对一和多对多)
第一种关联关系:一对多(多对一)"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。 一对多关系在hbm文件中的配置信息:消费者(一方):xml version="1.0" encoding="utf-8"转载 2012-03-05 19:38:51 · 66742 阅读 · 11 评论 -
hibernate 注解
<br />注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5。<br />@Entity 类注释,所有要持久化的类都要有<br />Java代码<br />@Entity <br />public class Org implements java.io.Serializable { <br />}<br />@Entitypublic class Org implements java.io.Serializable {}<br />@Id 主键<br />Jav转载 2011-03-10 12:13:00 · 1421 阅读 · 0 评论 -
Hibernate3的DetachedCriteria支持
<br />Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。 <br /><br /> 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句。这里的一个难点是条件列表用什么来构造?传统上使用Map,但是这种方式缺陷很大,Map可以传递的信转载 2011-03-05 19:28:00 · 677 阅读 · 0 评论 -
利用hibernate的DetachedCriteria进行分页
<br />Hibernate3提供了DetachedCriteria,使得我们可以在Web层构造detachedCriteria,然后调用业务层Bean,进行动态条件查询,根据这一功能,我设计了通用的抽象Bean基类和分页类支持,代码来自于Quake Wang的javaeye-core包的相应类,然后又做了很多修改。<br /> 分页支持类: <br /> <br />package com.javaeye.common.util; <br /> <br />import java.util转载 2011-03-05 19:26:00 · 2136 阅读 · 0 评论 -
Hibernate中DetachedCriteria和Criteria的完整用法
<br />最近在项目中使用 Spring 和 Hibernate 进行开发,有感于 Criteria 比较好用,在查询方法 <br /> <br />设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装。现在对 Hibernate的Criteria 的用法进行总结: <br />Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria 。 <br />Cr转载 2011-03-05 19:24:00 · 6593 阅读 · 0 评论 -
hibernate原理
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,<br />使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,<br />也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 <br />另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写转载 2011-02-13 17:53:00 · 4180 阅读 · 0 评论 -
hibernate分页实现
解决项目中一问题时,由于涉及到Hibernate的分页功能,于是打草搂兔子地研究了下Hibernate分页功能的实现。我们先来看用Hibernate来实现分页的代码片段: Criteria c = session.createCriteria(Area.class); c.setFirstResult(10); c.setMaxResults(20); List list = c.list();上面c.list()执行后,就看到了满足条件的十条记录,即第11到转载 2011-02-13 17:36:00 · 3002 阅读 · 0 评论 -
连接Oracle数据库的Hibernate配置文件
连接Oracle数据库的Hibernate配置文件连接Oracle的Hibernate配置文件有两种格式,一种是xml格式的,另一种是Java属性文件格式的。下面分别给出这两种格式配置文件的代码。1.xml格式的配置文件下面将给出连接本地Oracle服务器上的db_database02数据库时Hibernate配置文件hibernate.cfg.xml的代码。例程2-5:光盘/mr/02/转载 2010-05-13 17:02:00 · 40516 阅读 · 6 评论 -
利于ThreadLocal模式管理Session
在利用Hibernate开发DAO模块时,我们和Session打的交道最多,所以如何合理的管理Session,避免Session的频繁创建和销毁,对于提高系统的性能来说是非常重要的,以往是通过eclipse的插件来自动完成这些代码的,当然效果是不错的,但是总是觉得不爽(没有读懂那些冗长的代码),所以现在打算自己实现Session管理的代码。 我们知道Session是由Ses转载 2008-08-25 11:21:00 · 2021 阅读 · 0 评论 -
hibernate缓存
Hibernate缓存的作用: Hibernate是一个持久层框架,经常访问物理数据库,为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据Hibernate缓存分类: Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate转载 2012-03-06 15:47:59 · 959 阅读 · 0 评论