Hibernate
luweifeng1983
求真务实、踏实能干、为兴趣而开发。。
JAVA学习书目介绍
1、JAVA入门与精通
2、JAVA核心技术卷
3、JAVA编程思想
4、JAVA解惑
5、JAVA设计模式
6、J2SDK API
7、HTTP协议
8、Servlet与JSP核心编程第二版
9、J2EE API
10、J2EE应用与BEA Weblogic Server
11、J2EE核心模式
12、精通EJB(第二版)
13、开源框架SSH相关
学JavaScript不得不读的8本书
http://w
展开
-
Hibernate抓取策略二
在Classes与Student一对多映射中,我们将Set里面的fetch属性设置为subselect来实现子查询。如下示例首先看一下set中fetch="select"即默认情况下:生成数据类:package com.bjsxt.hibernate;import org.hibernate.Session;public class InitData { p...原创 2010-05-11 17:56:36 · 85 阅读 · 0 评论 -
Hibernate学习笔记博客
网上也有人自学hibernate的笔记http://hi.baidu.com/ahuzl/blog/category/Hibernate原创 2010-05-06 11:32:41 · 79 阅读 · 0 评论 -
Hibernate与EJB的区别
Hibernate不支持分布式应用2010-05-05 18:09:49 · 150 阅读 · 0 评论 -
Hibernate对象状态
Hibernate对象有三种状态:瞬时状态(Transient):对象新创建的时候,失去引用时被JVM回收; 可通过save方法进入持久状态持久状态(Persistent):通过save方法之后进入持久状态,在数据库与缓存中有记录; session关闭进入脱管状态脱管状态(Detached):在数据库中有记录,缓存中没有; 可通过load,get,或查询再次进入持久状态;或者当本ses...2010-05-05 17:48:25 · 97 阅读 · 0 评论 -
Hibernate HQL示例十二:DML更新、删除及与Hibernate持久化更新
DML更新及删除示例:package com.bjsxt.hibernate;import junit.framework.TestCase;import org.hibernate.Query;import org.hibernate.Session;public class DMLQueryTest extends TestCase { publi...2010-05-05 16:42:53 · 111 阅读 · 0 评论 -
Hibernate HQL示例十一:分页查询
分页查询:select * from t_student limit 1,2;从第2条开始(包括第2条),共查询2条数据 测试: package com.bjsxt.hibernate;import java.util.Iterator;import java.util.List;import org.hibernate.Query;import o...2010-05-05 16:21:39 · 88 阅读 · 0 评论 -
Hibernate HQL示例十:统计查询
统计函数的使用count(*) 等package com.bjsxt.hibernate;import java.util.Iterator;import java.util.List;import org.hibernate.Session;import junit.framework.TestCase;public class StatQueryTe...2010-05-05 15:57:33 · 109 阅读 · 0 评论 -
Hibernate HQL示例九:连接查询
inner join left out joinright out join可简写join ,left join,right join 先回忆一下连接:inner join: 返回的是两个表中关联字段值相同的数据集select t.name from t_student t inner join t_classes c on t.classid=c.id where...2010-05-05 15:38:58 · 87 阅读 · 0 评论 -
Hibernate HQL示例八:查询对象导航及Implicit Join
通过Student对象导航到class对象的id如下:POJOpackage com.bjsxt.hibernate;import java.util.Date;public class Student { private int id; private String name; private Date createTime; ...2010-05-05 10:32:29 · 170 阅读 · 0 评论 -
Hibernate HQL示例七:查询过滤器的使用
查询过滤器指的是:配置好后,会在该对象上的每一条查询语句上自动加上查询条件:如:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hiber...2010-05-05 01:58:32 · 121 阅读 · 0 评论 -
Hibernate悲观锁与乐观锁及事务管理机制
引用:悲观锁与乐观锁:http://www.iteye.com/topic/179267http://hi.baidu.com/ahuzl/blog/item/1340fe8307dc16b56d81194b.html事务管理机制:http://www.router.net.cn/Article/26494.htmlhttp://www.iteye.com/topic/28...原创 2010-05-06 11:57:00 · 84 阅读 · 0 评论 -
Hibernate性能优化:一级缓存
一级缓存与session周期一致,二级缓存与sessionFactory一致。session一级缓存1、一级缓存很短,和session的生命周期一致,随着session的关闭而消失 *load/get/iterate(查询实体对象)可以使用缓存数据2、一级缓存它缓存的是实体对象 3、如果管理缓存,如session.clear()/session.evict()4...原创 2010-05-06 16:33:38 · 73 阅读 · 0 评论 -
Hibernate抓取策略一
抓取策略指多表关联查询的时候,Hibernate会发出多条sql进行查询,但如果设置了抓取策略,将多条SQL变成一条SQL执行,实际上就是使用join等关联查询。 如在一对多即示例Classes与Student的关联查询中:代码:public void testLoad(){ Session session = null; try { session =...原创 2010-05-11 16:29:32 · 81 阅读 · 0 评论 -
Hibernate查询缓存
二级缓存中,如果不设置“查询缓存”,那么hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用 findall()、list()、Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置 hibernate.cache.use_query_cache true ,即配置查询缓存 如果需要“查询...原创 2010-05-11 01:15:27 · 104 阅读 · 0 评论 -
Hibernate所需完整类库
附件为最新配置Hibernate所需的包.由来:一、下载hibernate3.5之后的所有包二、http://quicker.iteye.com/blog/641492一文提到的包三、http://quicker.iteye.com/blog/658408一文提到的包四、http://quicker.iteye.com/blog/663471一文提到的包 ...原创 2010-05-11 01:08:38 · 115 阅读 · 0 评论 -
Hibernate 二级缓存缺少包出现的异常
由于二级缓存使用的包org.hibernate.cache.EhCacheProvider,配置了二级缓存在使用initData生成数据的时候会报我的开发环境:ECLIPSE3.4JAVA1.6HIBERNATE3.5 以下错误.错误一:Exception in thread "main" java.lang.NoClassDefFoundError: org/ap...原创 2010-05-10 23:29:36 · 132 阅读 · 0 评论 -
转:Hibernate性能优化之二级缓存
http://chenhongbin007.blog.163.com/blog/static/3406992120094661950804/ 转之方便自用。 二级缓存配置: 1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置: <property name="hibernate.cache.use_second...原创 2010-05-10 17:28:40 · 68 阅读 · 0 评论 -
Hibernate lazy加载FOR 单端关联
Hibernate单端关联懒加载策略:即在<one-to-one>/<many-to-one>标签上可以配置懒加载策略。可以取值为:false/proxy/no-proxyfalse:取消懒加载策略,即在加载对象的同时,发出查询语句,加载其关联对象proxy:这是hibernate对单端关联的默认懒加载策略,即只有在调用到其关联对象的方法的时候 ...原创 2010-05-10 00:54:02 · 82 阅读 · 0 评论 -
Hibernate lazy加载FOR Connection
Hibernate集合属性的懒加载策略:在集合属性上,可以配置懒加载策略,取值为:true/false/extratrue:默认取值,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其 集合元素的数据false:取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据extra:一种比较聪明的懒加载策略,即调用集合的si...原创 2010-05-10 00:28:22 · 71 阅读 · 0 评论 -
Hibernate lazy加载FOR Class
lazy策略可以用在: * <class>标签上:可以取值true/false * <property>标签上,可以取值true/false,这个特性需要类增强 * <set>/<list>等集合上,可以取值为true/false/extra * <one-to-one>/<many-to-one>等标签上,可...原创 2010-05-09 23:51:35 · 81 阅读 · 0 评论 -
Hibernate性能优化:二级缓存
hibernate二级缓存定义步骤:1、打开缓存,在hibernate.cfg.xm中加入:<property name="hibernate.cache.use_second_level_cache">true</property>2、指定缓存策略提供商,在hibernate.cfg.xm中加入:<property name="hiber...原创 2010-05-06 16:48:28 · 126 阅读 · 0 评论 -
Hibernate HQL示例六:查询语句在配置文件中进行查询
配置如下:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibern...2010-05-05 01:51:16 · 91 阅读 · 0 评论 -
Hibernate HQL示例五:原生SQL语句查询
使用:session.createSQLQuery注意:这里对应的就是查询表名了.. package com.bjsxt.hibernate;import java.util.Iterator;import java.util.List;import org.hibernate.SQLQuery;import org.hibernate.Session;...2010-05-05 01:40:48 · 166 阅读 · 0 评论 -
Hibernate HQL示例四:条件查询
在条件查询 * 可以拼字符串的形式传递参数 * 可以用过?来传递参数(注意索引值是从0开始的,跟jdbc不同,jdbc是从1开始的) * 可以通过 :参数名 来传递参数(即命名参数方式) * 如果对应的参数值是多个,可以调用setParamterList()传方法开递 * 在HQL中可以使用数据库的函数,如date_format...2010-05-05 01:24:40 · 74 阅读 · 0 评论 -
Hibernate继承映射一:每个类分层结构一张表
本示例演示Hibernate继承映射的第一种策略:每棵类继承树对应一张表1、理解如何映射因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:父类用普通的<class>标签定义在父类中定义一个disc...2010-05-04 00:14:01 · 111 阅读 · 0 评论 -
Hibernate继承映射时出现的异常:org.hibernate.exception.GenericJDBCException: could not load
今天在进行继承映射测试的时候出现异常:org.hibernate.exception.GenericJDBCException: could not load an entity: 看了一下,原来是mysql的jar包的问题,我用的是mysql-connector-java-3.2.0-alpha-bin.jar到网站下载最新的mysql-connector-java-5.1.12...2010-05-04 00:04:24 · 743 阅读 · 0 评论 -
多对多映射
多对多映射表现为在两个表之外产生一个中间表,其主键为两个表的外键.如下:Person与Event为多对多关联.除了产生person,event表外,还会产生person_event表.映射文件:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate M...2010-05-04 00:01:13 · 89 阅读 · 0 评论 -
一对多单向和双向映射
一、一对多单向关联多对一与一对多类似一对多映射中,只需要在一方的POJO中加入Set.在一方的映射中加入:<set name="students"> <key column="class_id"></key> <one-to-many class="Student"/></set>起到指示作用,指示在多方的2010-05-02 11:43:04 · 432 阅读 · 0 评论 -
一对一关联
两个表通过主键来关联就是一个表的主键依赖另一个表的主键,如果一个表里面没有数据,那么在另一关联他的表插入数据会报错。如下:配置文件:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://h...2010-04-30 16:28:27 · 114 阅读 · 0 评论 -
多对一映射
多对一:这里举例:User类与Group类,一个Group中是有多个User的。具体数据库表现为在Group类的主键作为User类的外键。POJO:package com.lwf.hibernate.pojo;public class User { private int id; private String name; private Group grou...2010-04-30 14:59:59 · 105 阅读 · 0 评论 -
Hibernate初步配置
Mysql5.0.82010-04-12 02:20:27 · 64 阅读 · 0 评论 -
Failed to load class "org.slf4j.impl.StaticLoggerBinder".问题解决
在进行hibernate配置好后运行测试类的时候出现:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.Exception in thread "...2010-04-12 01:59:32 · 121 阅读 · 0 评论 -
Hibernate包作用详解
Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate2.jar: Hibernate的库,没有什么可说的,必须使用的jar...2010-04-08 15:38:40 · 59 阅读 · 0 评论 -
Hibernate继承映射相关文章导读
http://www.tup.tsinghua.edu.cn/book/SHOWBOOK.asp?CPBH=026126-01http://book.csdn.net/bookfiles/562/10056218641.shtmlhttp://developer.51cto.com/art/200909/154182.htmhttp://bbs.5460.net/ss-xs/?uid-...2010-05-04 00:15:09 · 61 阅读 · 0 评论 -
Hibernate继承映射二:每个子类一张表
修改Hibernate继承映射一:http://quicker.iteye.com/blog/658411 中的配置文件,就能得到继承映射的第二种策略首先看看继承映射第二种策略怎么做Hibernate继承映射的第二种策略:每个类对应一张表1、如何映射这种策略是使用joined-subclass标签来定义子类的。父类、子类,每个类都对应一张数据库表。在父类对应的数据库表中,实...2010-05-04 01:06:05 · 150 阅读 · 0 评论 -
Hibernate HQL示例三:属性查询
根据属性查询: 单个属性查询,返回的结果集属性的列表,其元素和属性的类型一致 多个属性查询,返回的结果集是数组类型,数组的长度和查询的属性数量相关,数组中元素的类型与相应的属性类型相同 示例package com.bjsxt.hibernate;import java.util.Iterator;import java.util.List;import or...2010-05-05 01:03:02 · 70 阅读 · 0 评论 -
Hibernate HQL示例二:list与iterate的区别
示例演示查询list与iterate的区别1、实体对象的查询,查询的是实体对象的数据【重要】 * n+1问题,在默认配置的情况下,使用query.iterate()操作,有可能有n+1问题,所谓 n+1,指在查询对象数据的时候,发出了n+1条查询语句。 1:首先发出了一条查询语句,查询对象的id列表 n:在迭代访问每个对象的时候,如果缓存中没有对象数据,Hibernat...2010-05-05 00:52:45 · 75 阅读 · 0 评论 -
Hibernate HQL示例一:基本配置及测试查询
Hibernate Hql查询:大小写敏感,如:from Student 指的是从Student对象中查询。示例:第一步创建数据库hibernate第二步运行ExportDB.java生成表结构。第三步运行InitData.java生成数据。第四步进行其它测试。 工具类代码:package com.bjsxt.hibernate;import org.h...2010-05-04 18:02:48 · 230 阅读 · 0 评论 -
Hibernate查询 load与get的区别及其它查询测试
一、测试load与get默认配置下,load将实现懒加载,即只有当对象被使用的时候才发出sql,而get将立刻发出sql如下:POJO:package com.lwf.hibernate;import java.util.Date;public class Doc { private String id; private String name; pri...2010-05-04 03:24:48 · 67 阅读 · 0 评论 -
Hibernate集合组件映射
集合的映射setlistarraymap 配置:<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3...2010-05-04 02:56:32 · 97 阅读 · 0 评论