![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hibernate3
文章平均质量分 58
itcast123
这个作者很懒,什么都没留下…
展开
-
jdbc与hibernate区别
一、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。二、Hibernate是...原创 2010-07-13 10:51:34 · 89 阅读 · 0 评论 -
Hibernate三种状态的区分
Hibernate的对象有3种状态,分别为:瞬时态(Transient)、持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 由new命令开辟内存空间的java对象, eg. Person person = n...原创 2010-09-14 10:02:33 · 71 阅读 · 0 评论 -
hibernate 中对象操作中evict方法和clear方法的区别
session.evict(obj),会把指定的缓冲对象进行清除 session.clear(),把缓冲区内的全部对象清除,但不包括操作中的对象原创 2010-09-14 10:11:55 · 147 阅读 · 0 评论 -
Hibernate3的DetachedCriteria支持
Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句。这里的一个难点是条件...原创 2010-10-10 08:42:42 · 60 阅读 · 0 评论 -
论述Hibernate中抓取策略
Hibernate抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。 本文主要就Hibernate抓取策略加以分析,Hibernate抓取策略(fetching strategy)是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,...原创 2010-10-10 21:27:55 · 70 阅读 · 0 评论 -
Hibernate Criteria
Hibernate QBC查询QBC查询: QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口。我们看下面的示例程序:Criteria criteria=session.createCriteria(User.class);criteria.add(E...原创 2010-10-10 21:58:57 · 90 阅读 · 0 评论 -
hibernate分组查询
private static final String LIST_COUNT = "select f.type as t,count(f.type) as c from Fetch as f group by type";public void testCount(){ Query query = createQuery(LIST_COUNT); List l...原创 2010-10-26 21:54:38 · 102 阅读 · 0 评论 -
HibernateTemplate 的 find方法使用
一、find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有User对象 二、find(String queryString , Object value); 示例:this.getHibernateTemplate...原创 2010-10-27 22:04:25 · 116 阅读 · 0 评论 -
hibernate调用数据库自定义函数
本文使用的是Oracle9i数据库,hibernate3.0,spring2.0,jdk6。首先在数据库中定义函数。1.以下是数据库中定义的函数: create or replace function Get_Djbh return varchar2 is Result varchar2(10); nNum Number...原创 2010-10-31 17:31:13 · 163 阅读 · 0 评论 -
hibernate技巧 封装查询结果
hibernate技巧 封装查询结果 将hibernate 查询对象的封装到map 或者指定的bean对象中 这样可以替代 select map(.....) 这种方式! Session s = this.getSession();//s为Hibernate SessionQuery q = s.createQuery(hql);//1、将查询结果转换成List<Map<字...原创 2010-11-07 23:30:38 · 122 阅读 · 0 评论 -
Java Hibernate Criteria 用法
15.1. 创建一个Criteria 实例org.hibernate.Criteria接口表示特定持久类的一个查询。Session是 Criteria实例的工厂。 Criteria crit = sess.createCriteria(Cat.class);crit.setMaxResults(50);List cats = crit.list();15.2. 限制结果集内容一个单独的查询条件是o...原创 2010-11-07 23:43:00 · 120 阅读 · 0 评论 -
Hibernate 5种查询方式代码示例
package com.cstp.hibernate;import java.util.List;import java.util.logging.Logger;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hiberna...原创 2011-08-13 09:52:06 · 132 阅读 · 0 评论 -
hibernate查询多对多数据范例
public class StuDao<T> extends BaseDao { private TeaDao<Teachers> teaDao = new TeaDao<Teachers>(); /* * 查询多对多数据 */ public Map<String, List<T>> queryAllStudentsInfo(bo...原创 2010-09-03 16:38:45 · 80 阅读 · 0 评论 -
hibernate生成数据库表
import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { Configuration configurati...原创 2010-08-19 08:22:16 · 60 阅读 · 0 评论 -
HIBERNATE实例
1.到hibernate官网http://www.hibernate.org上下载您需要的版本。本人下载了hibernate3.2.5和hibernate3.3.1两个版本。2.将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中: antlr.jar,cglib.jar,asm.jar,commons-collections...原创 2010-07-18 14:19:49 · 69 阅读 · 0 评论 -
hibarnate中ID主键生成方式
一、id被映射的实体类必须声明一个对应数据库表主键列的属性。大多数类有一个JavaBeans风格的代表此实例唯一标识的属性。 元素定义了该属性到数据库表主键字段的映射。Java代码 (5) node="element-name|@attribute-name|element/@attribute|." (5) n...原创 2010-07-18 14:34:18 · 127 阅读 · 0 评论 -
hibernate对应关系配置
一对多配置:view plaincopy to clipboardprint? peruserinfo_userid ...原创 2010-07-19 08:41:24 · 85 阅读 · 0 评论 -
hibernate步骤
hibernate,先建user.java->user.hbm.xml->hibernate.cfg.xml-> Configuration config = new Configuration(); config.configure(); // 如果hibernate.cfg.xml中没有配置的某些属性,你可以通过config.set...原创 2010-07-19 23:05:17 · 62 阅读 · 0 评论 -
findMsgFluxByCp备忘
public List<MsgFlux> findMsgFluxByCp(String cp,String startime,String endtime) { String sql = "select cp,count(*) from history group by cp"; List<MsgFlux> list = new Array...原创 2010-08-12 14:21:34 · 66 阅读 · 0 评论 -
Hibernate对视图的操作
Hibernate对视图进行操作时和对普通的表有些不同,下面就是一个Hibernate操作视图的例子:视图:SELECT a.SPID, a.SPKey, b.serviceID, b.serviceName, c.serviceItemID, c.itemNameFROM dbo.tbSPInfo aINNER JOIN dbo.tbService b ON a.SPID = b.SPID LE...原创 2010-08-12 17:08:11 · 89 阅读 · 0 评论 -
hibernate存储过程调用
听说Hibenate3可以在执行存储过程了,但在网上了一些资料,基本上都是Hibernate文档中带的那个例子,其中也只是一个查询的例子。现在我想执行一个插入功能的存储过程,试了几次都没有成功。如果那位有这样的成功经验愿请教!以前做过用JAVA的JDBC执行存储过程,但即然都用Hiberante了。就不想再做一个数据库连接,想把这块都交给Hibernate管理。后来想到可以从Hiberna...原创 2010-08-12 17:28:49 · 104 阅读 · 0 评论 -
composite-id 学习
组件作为联合标识符,必须满足: 它必须实现java.io.Serializable接口 它必须重新实现equals()和hashCode()方法, 始终和组合关键字在数据库中的概念保持一致 你不能使用一个IdentifierGenerator产生组合关键字。一个应用程序必须分配它自己的标识符。 【注意:在Hibernate3中,第二个要求并非是Hibernate强制必须的。但最好这样做。】 <...原创 2010-08-15 17:10:50 · 146 阅读 · 0 评论 -
hibernate向MYSQL插入数据的乱码问题
向数据库插入数据的时候出现乱码,解决办法:一、数据库连接串中指定字符集URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk二、在创建数据库时指定字符集create database yourDB CHARACTER S...原创 2010-08-17 21:55:16 · 63 阅读 · 0 评论 -
hibernate一级缓存
一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存一级缓存是缓存实体对象的,不会缓存普通属性那些方法支持一级缓存: * get() * load() * iterate(查询实体对象) 如何管理一级缓存: * session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出 * 先flush,再clear ...原创 2010-08-18 23:11:51 · 62 阅读 · 0 评论 -
hibernate二级缓存
二级缓存也称进程级的缓存或SessionFactory级的缓存,二级缓存可以被所有的session共享二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存二级缓存的配置和使用: * 将echcache.xml文件拷贝到src下 * 开启二级缓存,修改hibernate.cfg.xml文件 <property name="hiber...原创 2010-08-19 07:56:58 · 63 阅读 · 0 评论 -
入门 05 - Query接口
入门 05 - Query接口 我们可以透过 org.hibernate.Query接口的实例来进行查询,透过Query接口,您可以先设定查询参数,之后透过setXXX()等方法,将指定的参数值填入,而不用每次都撰写完整的HQL,直接来看个例子:[code="java"]Query query = session.createQuery("select user.name from...原创 2012-09-05 08:13:46 · 214 阅读 · 0 评论