hibernate
wenzhihui_2010
www.ehomebaihuo.taobao.com
展开
-
hibernate的原理
hibernate的原理:原创 2014-02-20 17:04:53 · 478 阅读 · 0 评论 -
hibernate中get和load,find的区别 .
get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null2.从检索执行机制上对比:get方法和find方法都是直接从数据库中检索而load方转载 2013-08-27 10:38:15 · 3017 阅读 · 0 评论 -
hibernate中identity和increment区别
identity:由底层数据库生成标识符identity是由数据库自己生成的,但这个主键必须设置为自增长,前提条件是低层数据库支持自动增长字段类型 increment:由hibernate管理主键,自动以递增的方式生成标识符,每次增量为1其在每次插入前取得一个当前最大的id+1作为主键,该主键必须为Integer类型附:assigned 主键原创 2013-08-27 10:36:19 · 2327 阅读 · 0 评论 -
HQL中的Like查询需要注意的地方及详细示例 .
public List getOrgan(String organCode, String organName) { String hsql; List list; if (organCode != null && organCode.length() > 0) { hsql = "from Ab31 where bae002 = ?转载 2013-07-25 15:53:43 · 6472 阅读 · 1 评论 -
C3P0连接池详细配置 .
3 30 1000 false 属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试 使用。Default: null--> Test 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败转载 2013-07-22 13:51:12 · 493 阅读 · 0 评论 -
hibernate部分问题总结
缓存问题:原创 2013-07-18 11:00:12 · 459 阅读 · 0 评论 -
hibernate总结
http://www.docin.com/p-678124367.html转载 2013-07-19 16:31:05 · 460 阅读 · 0 评论 -
Hibernate从入门到精通(七)多对一单向关联映射 .
上次的博文Hibernate从入门到精通(六)一对一双向关联映射中我们介绍了一下一对一双向关联映射,本次博文我们讲解一下多对一关联映射多对一单向关联映射 多对一关联映射与一对一关联映射类似,只是在多对一的指向端可以存在多个对象,在指向端加载的时候,同时加载被指向端。多对一和一对一的异同 对比一对一单向关联映射和多对一单向关联映射,两者的相同之转载 2013-07-18 15:32:35 · 456 阅读 · 0 评论 -
Hibernate从入门到精通(三)Hibernate配置文件 .
在上次的博文Hibernate从入门到精通(二)Hibernate实例演示我们已经通过一个实例的演示对Hibernate的基本使用有了一个简单的认识,这里我们在此简单回顾一下Hibernate框架的使用步骤。Hibernate框架的使用步骤:1、创建Hibernate的配置文件2、创建持久化类,即其实例需要保存到数据库中的类3、创建对象-关系映射文件4、转载 2013-07-18 15:00:19 · 485 阅读 · 0 评论 -
Hibernate从入门到精通(二)Hibernate实例演示 .
上篇Hibernate从入门到精通(一)JDBC简介,我们主要对JDBC进行了简单介绍和使用说明,这次我们做一个Hibernate简单实例,通过这个实例对比Hibernate和JDBC,了解Hibernate的优势所在。在此之前,读者有必要了解一下Hibernate中的每个jar包的作用和每个jar文件包主要负责的工作,这里我们不做过多的解释。 1、导入jar文件转载 2013-07-18 14:55:42 · 394 阅读 · 0 评论 -
一对多单向映射(八)
一对多单向关联映射 在讲解一对多单向关联之前,按照我们的惯例首先看一下其相应的类结构图和代码。具体如下:[java] view plaincopyprint?public class Classes { private int id; private String name;转载 2013-08-28 17:03:35 · 682 阅读 · 0 评论 -
多对多单向关联映射 .(十)
多对多单向关联映射 在讲解多对多单向关联映射之前,首先看一下相关类图和代码,具体如下:[java] view plaincopyprint?public class Role { private int id; private String name; public int getId() {转载 2013-08-28 17:06:59 · 725 阅读 · 0 评论 -
多对多双向关联映射 .(十一)
多对多双向关联映射按照我们之前的惯例,先看一下相关类图和代码,具体如下:[java] view plaincopyprint?public class Role { private int id; private String name; private Set users; publ转载 2013-08-28 17:09:15 · 827 阅读 · 0 评论 -
hibernate批量数据插入优化 ------用Hibernate插入1万条数据,怎么做,有什么好的优化方法吗
Hibernate批量处理: Hibernate批量处理其实从性能上考虑,它是很不可取的,浪费了很大的内存。从它的机制上讲,Hibernate它是先把符合条件的数据查出来,放到内存当中,然后再进行操作。实际使用下来性能非常不理想,在笔者的实际使用中采用下面的第三种优化方案的数据是:100000条数据插入数据库,主流台式机的配置,需要约30分钟,呵呵,晕倒. 总结下来有三种来转载 2014-02-13 17:10:22 · 5835 阅读 · 0 评论 -
整合Spring与Hiberante3方法总结-----供参考
最近做项目,第一次整合spring、hibernate、struts,这里收集点资料,做下参考。学j2ee的都知道,在Spring中整合Hibernate也算是需要掌握的基础知识了,整合的过程比整合Struts相对来说要简单许多,我们要实现的目标是整合,思路就是让spring容器来管理SessionFactory,这样就可以使用Spring的声明式事务了。在 Spring 中配置 Sess转载 2013-12-25 17:09:37 · 497 阅读 · 0 评论 -
持久化对象三种状态以及session的Get()与Load()区别
一、Hibernate持久化对象三种状态在Hibernate中持久化类的对象可以划分为三种状态,分别是瞬态,持久态,脱管态。1. 瞬态(Transient),也叫临时态。处于这种状态的对象具备的特征如下: a) 不在Session的缓存中,不与任何的Session实例相关联。 b) 在数据库中没有与转载 2013-11-12 10:29:21 · 897 阅读 · 0 评论 -
一对多双向关联映射(九)
一对多双向关联映射 一对多双向关联映射,即在一的一端存在多的一端的一个集合对象,在多的一端存在一的一端的一个对象,这样就可以保证在加载一的一端或多的一端将被指向端的集合或对象加载上来,即保证双向关联。一对多双向关联映射和一对多单向关联映射的异同 一对多双向关联映射相应的类结构图和代码。具体如下:[java] view plai转载 2013-08-28 17:06:08 · 675 阅读 · 0 评论 -
Hibernate的generator属性 有7种class --意义和用法
本文讲述Hibernate的generator属性的意义。Generator属性有7种class,本文简略描述了这7种class的意义和用法。[xhtml] view plaincopyclass name="onlyfun.caterpillar.User" table="USER"> id name="id" type="str转载 2013-10-31 12:15:23 · 8998 阅读 · 0 评论 -
org.hibernate.ObjectNotFoundException: No row with the given identifier exists
问题产生原因:有一个对象A,关联了对象B ,关联关系可以使 ManyToOne,OneToOne 等,如果我们在数据库中清除了B对象,但是B对象还在A表中存在外键,这时候Hibernate检查这个关系的时候,会报出这个异常。但是A与B在数据库 为范围内不能耦合过紧,只能pojo中建立关联关系,此时要注意,清除A表中的外键,可以解决此问题,一般的垃圾数据会造成业务系统不能正常运转。第原创 2013-10-31 12:16:24 · 672 阅读 · 0 评论 -
关于Struts2 +hibernate 3+spring中的报错 1 Caused by: java.lang.NoSuchMethodError
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method原创 2013-10-15 13:17:25 · 1076 阅读 · 0 评论 -
缓存技术的使用(hibernate或jpa的二级缓存,以及页面jsp级别的缓存)
oscache:由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。业务描述:网站对于不经常变动的内容可以用页面的局布缓存,提高网站访问速度一、全局缓存1,引入JAR oscache-2.4.1.jar2配置oscache.properties3 指定内存中缓存的对象个数cache.capacity=100原创 2013-10-12 17:12:09 · 673 阅读 · 0 评论 -
hibernate实体实现hashcode与equals方法
为什么Hibernate建议你的实体类实现hashCode和equals方法?因为Hibernate使用了一级和二级缓存,很多查询为了提高效率Hibernate都会先从缓存中进行查找,然后再从数据库进行查找。而HashCode是唯一的,所以这样避免数据操作出现数据混淆的可能,而equals的作用是对比Hibernate缓存中数据是否一致。 看看Hibernate in action,有三种原创 2013-09-02 10:18:40 · 2467 阅读 · 0 评论 -
Hibernate从入门到精通(一)JDBC简介 .
在了解Hibernate之前,我们先回顾一下传统JDBC访问数据库的相关内容。重点在于分析JDBC访问存在哪些缺陷,这些缺陷在Hibernate中是如何思考和解决的?JDBC主要对象 DriveManager:代表驱动程序管理器,负责创建数据库连接 Connection:代表数据库连接 Statement:负责执行SQL语句 Pr转载 2013-07-18 14:50:37 · 412 阅读 · 0 评论 -
Hibernate从入门到精通(六)一对一双向关联映射 .
在上次的博文Hibernate从入门到精通(五)一对一单向关联映射中我们讲解了一下一对一单向关联映射,这次我们继续讲解一下与之对应的一对一双向关联映射。一对一双向关联 与一对一单向关联映射所不同的的是在一对一双向关联中,不但在一个对象(Person)中存在另一个对象(IdCard)的引用,而在另一个对象(IdCard)中也存在对该对象(Person)的引用,这样即可以在转载 2013-07-18 15:15:15 · 442 阅读 · 0 评论 -
Hibernate从入门到精通(五)一对一单向关联映射 .
上次的博文中 Hibernate从入门到精通(四)基本映射我们已经讲解了一下基本映射和相关概念,接下来我们会讲稍微复杂点的映射——关系映射。关系映射分类 关系映射即在基本映射的基础上处理多个相关对象和多个相关表之间联系的映射。关系映射从对应关系的角度可以分为如下七种类型:一对一单向关联一对一双向关联一对多单向关联多对一单向关联转载 2013-07-18 15:09:33 · 459 阅读 · 0 评论 -
hibernate和ibatis的比较 .
Hibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分了iBATIS 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目了。相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mapping”的ORM实现。Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R原创 2013-06-20 17:30:31 · 479 阅读 · 0 评论 -
关于bibernate双向配置问题
在hiberante中双向配置映射的是同一个字段,如果set中指定了key字段名,而别一方起了其他名子或是默认的话那么会造成生成两个引用ID的字段,会出现关联上删除问题,在双向关系中只需指定一个字段做为外键字段并由多的一方维护就行了,切记不能采用默认形式会生成两个外键字段原创 2013-06-03 14:25:00 · 772 阅读 · 0 评论 -
Hibernate中createQuery与createSQLQuery两者的区别 .
最近几天在写项目,遇到了一个错:Struts has detected an unhandled exception:Messages:ORA-00933: SQL ???????could not execute querycould not execute query; SQL [ select count(*) from www.csdn.weibo.domain转载 2013-06-03 13:31:58 · 415 阅读 · 0 评论 -
hibernate二级缓存
hibernate二级缓存是由SessionFactory管理,所以又叫SessionFactory级缓存,它是通过不同的类库来实现的,比如ehcache、oscache等。和一级缓存一样,二级缓存也是用来缓存实体对象的,对普通属性不缓存。 hibernate二级缓存的使用需要进行必要的配置,主要是四个地方(这里以ehcache为例): 1>. 配置echcache.xml文件原创 2013-05-28 16:19:03 · 509 阅读 · 0 评论 -
Hibernate 原汁原味的四种抓取策略
最近在研究 Hibernate 的性能优化的时候碰到了"抓取策略", 由于以前没有详细的研究过, 所以到处找资料, 但是无论从一些讲 Hibernate 书籍,还是他人 Blog 中都没有找到详细 介绍 Hibernate 文档中所说的原汁原味的抓取策略, 综合懒加载等等特性混在了一起, 所 以在这自己在借鉴了他人的基础上研究了下原汁原味的 Hiberna原创 2013-05-28 16:15:16 · 376 阅读 · 0 评论 -
各种缓存浅谈
1、缓存:缓存是什么,解决什么问题?位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache(摘自Robbin的《缓存技术浅谈》)。目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快 高速缓存不属于Hibernate等,属于独立产品或框架,可单独使用。 常见缓存算法:a) LFU(Least Freque原创 2013-05-28 16:25:42 · 555 阅读 · 0 评论 -
Hibernate的乐观锁与悲观锁
锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的 “锁” ,即给我们选定的目标数据上锁,使其无法被原创 2013-05-28 16:16:15 · 380 阅读 · 0 评论 -
hibernate的性能优化
1、针对oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。即在hibernate配制文件中进行配制:原创 2013-05-28 16:07:48 · 475 阅读 · 0 评论 -
Hibernate中的fetch, lazy, outer-join,inverse和cascade作用
1.fetch,outer-join 和 lazy 主要用于级联查询(select) 而 inverse和cascade主要用于级联增加,删除,修改(sava-update,delete)。 lazy是延时的意思,如果lazy=true,那么就是说数据库中关联子表的信息在hibernate容器启动的时候不会加载,而是在你真正的访问到字表非标识字段的时候,才会去加载。 反之,如果lazy原创 2013-05-28 15:55:43 · 802 阅读 · 0 评论 -
spring、Hibernate、Struts组建轻量级架构 .
在java 的应用领域,有许多成熟的开源软件,利用它们一样可以打造优越、灵巧的应用框架,本文首先将先介绍 所要构建的系统结构和借助的开源产品。然后逐一讲解各开源软件的具体运用。希望本文能给那些正在学习这些 开源软件的同行提供参考。续该文之后笔者将结合这些开源软件,借助实际项目,做更深入的应用讲解。目录前言1. 整体框架1.1. UI层1.2. 业务层1.3. 数转载 2013-06-20 17:41:22 · 1083 阅读 · 0 评论 -
对三层和MVC的认识过程 .
三层架构就是MVC!起初老师总说三层MVC,MVC三层架构……所以开始的时候脑子就一个概念:三层就是MVC,MVC就是三层架构。而且想想也合理啊,都是“三”。MVC是三个字母,三层架构也是“三”,理所应当的就对应上了。然后就这么一直“错”了很长时间。三层架构绝不是MVC!!后来学习了J2EE之后发现老师说的好像不对,MVC和三层架构不是一个东西。三层架构是界面层(U转载 2013-06-24 17:38:47 · 723 阅读 · 0 评论 -
Spring和Hibernate集成的HibernateTemplate的一些常用方法总结
1:get/load存取单条数据1. public Teacher getTeacherById(Long id) { 2. return (Teacher)this.hibernateTemplate.get(Teacher.class, id); 3.} 4. 5.public Teacher getTeacherById(L原创 2013-06-26 13:21:15 · 646 阅读 · 0 评论 -
Hibernate从入门到精通(四)基本映射 .
映射的概念 在上次的博文Hibernate从入门到精通(三)Hibernate配置文件我们已经讲解了一下Hibernate中的两种配置文件,其中提到了两种配置文件的主要区别就是XML可以配置映射。这里提到的映射即对象关系映射(Object Relational Mapping)。ORM的实现目的就是将对象数据保存到数据库中,同时可以将数据库数据读入对象中,这样开发人员就可以将对转载 2013-07-18 15:05:22 · 466 阅读 · 0 评论 -
一个通用dao的实现
import java.io.*;import java.util.*;/** * 通用DAO,用于对象的持久化、查询(分页) * * @author SunHui * */public interface Dao { /** * 保存(持久化)一个对象 * * @param object * 要保存的对象原创 2013-07-18 11:13:50 · 514 阅读 · 0 评论 -
hibernate防止sql注入
hibernate防止sql注入Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: PrepareStatement pre=connection.prepare(“select * from User where user.name=?”);原创 2013-07-18 11:34:33 · 444 阅读 · 0 评论