![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
文章平均质量分 78
intervalintl
这个作者很懒,什么都没留下…
展开
-
Hibernate 二级缓存 和 查询缓存
自己测试的一些结果 , 可能不是很正确,往大家给给意见: 二级缓存和查询缓存都相当于一个map。 二级缓存缓存的key为id,value为实体对象。一般load(),iterate()使用到二级缓存,list()需要结合查询缓存使用。iterate()和list()区别如下: iterate()不需要开启查询缓存,它首先发出一个sql如”select s.id from Student s...2009-09-22 11:19:19 · 123 阅读 · 0 评论 -
Hibernate Annotation driven equals and hashCode
The following implementation of equals, hashcode and toString is using the concept of one or more business keys defined by annotations.The annotation @BusinessKey can be applied with an include/exclud...2009-07-03 16:56:00 · 89 阅读 · 0 评论 -
GenericSpringDAO<T extends ...>
import java.io.Serializable;import java.lang.reflect.ParameterizedType;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Date;import java.util.List;imp...2009-08-03 10:06:51 · 117 阅读 · 0 评论 -
Hibernate Session Flush
session flush在commit之前默认都会执行他。也可以手动执行它,他主要做了两件事:1) 清理缓存。2) 执行SQL。session在什么情况下执行flush* 默认在事务提交时* 显示的调用flush* 在执行查询前,如:iteratehibernate按照save(insert),update、delete顺序提交相关操作 ******...原创 2009-08-14 11:34:49 · 130 阅读 · 0 评论 -
Hibernate 注解 annotation
一、 实体 Bean每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明。声明实体Bean@Entitypublic class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long...2010-05-05 20:37:32 · 129 阅读 · 0 评论 -
Jdbc 与 Jta 事务
hibernate的两种事务管理jdbc 和jta方式。下边说说两者的区别一、说明一下jdbc和jta方式事务管理的区别:JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期之内JTA 事务管理则由 JTA 容器实现,JTA 容器对当前加入事务的众多Connection 进行调度,实现其事务性要求。J...原创 2009-08-26 14:35:04 · 104 阅读 · 0 评论 -
Query.list 与 Query.iterate 的区别
list: 结果存入缓存,但不从缓存里面取;查询时属性连同id一起找出来,只有“一句”select; iterate:结果存入缓存,并在缓存中查找结果;查询时先找出所有的 id,然后根据 id 到缓存里面查找,如果没有命中,再到数据库中查找该id对应的其他属性。可能会有多行 select。 分页:firstResult 与 maxResult 的影响。 Oracle:支持 rownum <...2009-09-03 17:08:20 · 91 阅读 · 0 评论 -
get 会使用二级缓存
经常看到session.get()和session.load()方法的区别,书上说load方法可以充分利用二级缓存中的现有数据,而get方法仅在内部缓存进行数据查找,如果没有查找到数据,将越过二级缓存,直接调用SQL完成数据读取。可我试了试,执行结果确实两个方法都充分利用了二级缓存。 代码如下: TuserDAOJava代码 package org.xiyou; ...原创 2009-09-03 17:17:01 · 89 阅读 · 0 评论 -
SimpleJdbc
SimpleJdbcInsert类和SimpleJdbcCall类主要利用了JDBC驱动所提供的数据库元数据的一些特性来简化数据库操作配置。 这意味着你可以尽可能的简化你的数据库操作配置。当然,你可以可以将元数据处理的特性关闭,从而在你的代码中详细指定这些特性。 11.5.1. 使用SimpleJdbcInsert插入数据让我们从SimpleJdbcInser...原创 2010-05-26 17:21:17 · 264 阅读 · 0 评论 -
hibernate cascade inverse
这两个属性都用于一多对或者多对多的关系中。而inverse特别是用于双向关系,在单向关系中我们并不需要。 Cascade代表是否执行级联操作,Inverse代表是否由己方维护关系。 Cascade: Cascade属性的可能值有 all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值...原创 2009-06-28 19:43:40 · 77 阅读 · 0 评论 -
hibernate的hibernate.hbm2ddl.auto属性
<property name="hibernate.hbm2ddl.auto" value="update" />解释如下:hibernate.hbm2ddl.auto Automatically validate or export schema DDL to the database when the SessionFactory is created. With create...原创 2009-01-06 16:33:12 · 2144 阅读 · 0 评论 -
Hibernate Inverse
一、Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是hibernate如何生成Sql来维护关联的记录! Hibernate仅仅按照主控方对象的状态的变化来同步更新数据库。按照原来的映射文件,people...原创 2009-04-23 17:15:52 · 64 阅读 · 0 评论 -
Hibernate 的连接池属性简介
Hibernate配置属性 属性名用途hibernate.dialectHibernate方言(Dialect)的类名 - 可以让Hibernate使用某些特定的数据库平台的特性取值. full.classname.of.Dialect hibernate.default_schema在生成的SQL中,scheml/tablespace的全限...2009-05-07 11:30:58 · 74 阅读 · 0 评论 -
hibernate.jdbc.fetch_size 和 hibernate.jdbc.batch_size
hibernate.jdbc.fetch_size 50hibernate.jdbc.batch_size 25 这两个选项非常非常非常重要!!!将严重影响Hibernate的CRUD性能! C = create, R = read, U = update, D = delete Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的...原创 2009-11-17 17:32:58 · 242 阅读 · 0 评论 -
Hibernate中Criteria的完整用法
Criteria 在查询方法设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装。现在对 Hibernate的Criteria 的用法进行总结:Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria。 Criteria 和 DetachedCriteria 的主...原创 2009-05-26 16:46:03 · 80 阅读 · 0 评论 -
Hibernate的Criteria 简单用法
在hibernate的Session里面使用createCriteria可以创建一个Criteria实例帮助我们进行条件查询,不用自己串hql语句,很方便。用法很简单,首先传Class实例创建Criteria,Class实例对应你想要查询的那个实体:Criteria c = session.createCriteria(Person.class);然后调用Criteria的add方法加...2009-05-26 16:52:38 · 107 阅读 · 0 评论 -
Hibernate 拦截器 和 监听器
拦截器(Intercept):顾名思义,拦截操作,也就是在Hibernate做出动作之前会调用的方法。如果你有需要在Hibernate操作数据库之前想要做的操作,就需要用到这个东西了。 监听器(Listener):监听,就是监视Hibernate的一举一动,如果我们要获取Hibernate各种操作PO的前前后后的信息,那就要用到他了。 这里有的朋友可能就有疑问了,从上面的描述来看,这个监听器似乎能...原创 2009-11-25 11:29:20 · 114 阅读 · 0 评论 -
Hibernate Criteria
Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria 。 Criteria 和 DetachedCriteria 的主要区别在于创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的;而 DetachedCriter...2009-06-19 11:15:02 · 73 阅读 · 0 评论 -
hibernate主键常用方式
1) assigned主键由外部程序负责生成,无需Hibernate参与。2) hilo通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。3) seqhilo与hilo 类似,通过hi/lo 算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,如Oracle。4) increment...原创 2009-01-06 16:32:22 · 84 阅读 · 0 评论 -
Hibernate search
Hibernate Search是Hibernate的子项目,把数据库全文检索能力引入到项目中,并通过"透明"(不影响既有系统)的配置,提供一套标准的全文检索接口。这一章我们就来学习这块内容。全文检索的概念在进入正文之前,有必要介绍一下全文检索的概念。简单来说,Google就是一个全文检索引擎。全文检索允许用户输入一些关键字,从数据层中查找到所需要的信息。此外全文检索和数据库"LIKE"语...原创 2011-02-21 14:44:44 · 113 阅读 · 0 评论