![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
文章平均质量分 71
Jston
自处超然,处人蔼然 有事斩然,无事修然 得之淡然,失之泰然 思之坦然,为之善然。
展开
-
hibernate-distribution-3.5.6中jar包的引入
如果用xml的话 需要三个目录的jar包 1、 根目录的 hibernate3.jar包 2、 lib\required 目录下 全部引入 3、 还需另外下载slf4j的slf4j-nop-1.5.8.jar(不是hibernate自带的)如果是annotation 的话只需在引入hibernate-distribution-3.5.6-Final\lib\j转载 2012-04-30 17:26:52 · 1249 阅读 · 0 评论 -
Hibernate HQL基础 调用数据库存储过程
在Hibernate中也可以通过SQLQuery对象调用数据库的存储过程,但是要求存储过程必须返回一个结果集。如在Oracle数据库的一个存储过程为:CREATE OR REPLACE PROCEDURE selectGuestbookById(sp_ref OUT SYS_REFCURSOR,inputId IN guestbook.id%type)ASBEGIN转载 2012-05-08 17:07:52 · 1627 阅读 · 0 评论 -
详细介绍 Hibernate 泛型 DAO 及其使用方法
编写Spring+Hibernate框架下的应用,总是离不了编写一个通用的泛型GenericHibernateDao。查阅了网上不少的GenericHibernateDao实现,归纳整理为如下实现,供后续编码参考。 首先定义接口泛型DAO接口 GenericDaopackage com.th.huz;import java.io.Serializable;import转载 2012-05-14 21:25:25 · 792 阅读 · 0 评论 -
hibernate对各种数据库主键的生成策略
increment用于为 long, short 或者 int 类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用。identity对 DB2,MySQL,MS SQL Server,Sybase 和 HypersonicSQL 的内置标识字段提供支持。返回的标识符是long,short 或者 int 类型的。sequence转载 2012-04-19 10:37:06 · 605 阅读 · 0 评论 -
Hibernate注解完整文档
第 2 章 实体Bean 第 2 章 实体Bean2.1. 简介本章内容覆盖了EJB3.0实体bean的注解规范以及Hibernate特有的扩展.2.2. 用EJB3注解进行映射现在EJB3实体Bean是纯粹的POJO.实际上这表达原创 2012-05-18 12:37:37 · 10116 阅读 · 2 评论 -
【Hibernate总结系列】hibernate.cfg.xml配置
Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml的配置。配置格式如下:1. 配置数据源 在Hibernate.cfg.xml中既可以配置JDBC,也可以配置JNDI。在本小节中讲述数据源如何配置。hibernate.cfg.xml"-//Hibernate/Hib转载 2012-05-18 13:15:48 · 761 阅读 · 0 评论 -
Hibernate架构图
原创 2012-05-18 13:20:53 · 1938 阅读 · 0 评论 -
Hql查询条件的参数绑定
3. 参数绑定: Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: PrepareStatement pre=connection.prepare(“select * from User where user.name=?”); pre.se原创 2012-05-05 17:45:39 · 885 阅读 · 0 评论 -
自定义一个方言类——Hibernate Dialect
该类需要继承与我们使用的数据库相应的方言类。比如:如果我们用的是MySql(版本为5.x.x),我们需要继承“org.hibernate.dialect.MySQL5Dialect”;如果我们使用的是DB2,那么我们应该继承“org.hibernate.dialect.DB2Dialect”;我用的是SqlServer2008,所以我要继承“org.hibernate.dialect.SQLSer转载 2012-07-04 21:31:25 · 816 阅读 · 0 评论 -
HQL调用自定义函数
1.创建自己的方言public class DialectRegExp extends Oracle9iDialect{public DialectRegExp(){super();this.registerFunction("my_xy", new SQLFunctionTemplate(new IntegerType(),"get_sal(?1)"));}}转载 2012-05-08 17:13:03 · 1612 阅读 · 1 评论 -
抓取策略(Fetching strategies)
转自:http://sishuok.com/forum/blogPost/list/3805.html实例A引用实例B,B如果是代理的话(比如多对一关联中):如果遍历A的查询结果集(假设有10条记录),在遍历A的时候,访问B变量,将会导致n次查询语句的发出!这个时候,如果在B一端的class上配置batch-size,hibernate将会减少SQL语句的数量。 Hiber转载 2012-05-06 13:58:48 · 690 阅读 · 0 评论 -
Hibernate6 集合映射
2008-05-26 19:0198人阅读评论(0)收藏举报集合映射一.映射Set Set是一个集合接口,它的特性和数学上的集合有点类似,Set中存放的是对象的引用,继承自Collection借口.特性: 1:不允许存放重复元素。 2:元素是无序。 3:主要有HashSet,LinkedHashSet,转载 2012-05-02 10:10:11 · 564 阅读 · 0 评论 -
Hibernate可选的配置属性
Hibernate 配置属性属性名用途hibernate.dialect允许 Hibernate 针对特定的关系数据库生成优化的 SQL 的org.hibernate.dialect.Dialect 的类名。例如:full.classname.of.Dialect在大多数情况下,Hibernate 可以根据 JDBC 驱动转载 2012-04-19 10:50:36 · 509 阅读 · 0 评论 -
Criteria查询
Criteria[1]是一种比hql更面向对象的查询方式。Criteria 可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode( 联合查询抓取的模式 ) ,设置排序方式,Criteria 还可以设置 FlushModel (冲刷 Session 的方式)和 LockMode (数据库锁模式)。 Criterion 是 Criteria 的查询条件转载 2012-05-05 11:15:02 · 1873 阅读 · 0 评论 -
Hibernate中get()和load()方法的区别
get与load都可以根据参数获取到指定的实体,那他们有什么区别呢??从Hibernate的参考手册中,我们基本可以总结出这样几条:1、如果找不到符合条件的记录,get方法返回null,而load方法抛出异常2、使用load方法,一般都假定你要取得对象肯定是存在的,而get方法则尝试,如果不存在,就返回null从这个角度看,似乎没什么大不了的。其实,仔细看看hibe转载 2012-04-20 09:14:05 · 676 阅读 · 0 评论 -
52.Hibernate Hql与Criteria查询的补充知识
*HQL1.查询多个对象select art, user from Article art, User user where art.author.id = user.id and art.id =: id这种方式返回的是Object[], Object[0]:article, Object[1]:user.2.分页query.setFirstResult, query.setMaxRes转载 2012-05-05 11:13:11 · 1751 阅读 · 0 评论 -
Session线程绑定
为什么Session需要线程绑定?比如说:扣款,一般是从数据库中查Card对象,再对卡的金额修改,两个操作,如果,查询出Card这个对象使用了一个会话,然后关闭会话,Card这个对象编程托管了,然后再开启一个会话再让这个托管的Card持久化,假如这时候,又一个扣款请求进来要求扣款,把余额扣光了,然后第一个托管的对象持久化了,然后进行扣款,由于判断余额的查询会话关闭了,所以,不会对再对余额进行判原创 2012-05-06 14:00:41 · 2862 阅读 · 2 评论 -
hibernate 版本(version)控制
Hibernate支持乐观锁。当多个事务同时对数据库表中的同一条数据操作时,如果没有加锁机制的话,就会产生脏数据(duty data)。Hibernate有2种机制可以解决这个问题:乐观锁和悲观锁。这里我们只讨论乐观锁。 Hibernate乐观锁,能自动检测多个事务对同一条数据进行的操作,并根据先胜原则,提交第一个事务,其他的事务提交时则抛出org.hibernate.StaleOb原创 2012-05-06 14:04:18 · 12038 阅读 · 0 评论 -
Hibernate中悲观锁和乐观锁
hibernate中经常用到当多个人对同一数据同时进行修改的时候,会发生脏数据,造成数据的不一致性,解决办法是可以通过悲观锁和乐观锁来实现。 悲观锁:在数据有加载的时候就给其进行加锁,直到该锁被释放掉,其他用户才可以进行修改,优点:数据的一致性保持得很好,缺点:不适合多个用户并发访问。当一个锁住的资源不被释放掉的时候,这个资源永远不会被其他用户进行修改,容易造成无限期的等待。 乐观锁:就是原创 2012-05-06 14:09:31 · 1375 阅读 · 0 评论 -
Hibernate session FlushMode的种属性
Hibernate session FlushMode有五种属性: 1、NEVEL:已经废弃了,被MANUAL取代了 2 MANUAL: 如果FlushMode是MANUAL或NEVEL,在操作过程中hibernate会将事务设置为readonly,所以在增加、删除或修改操作过程中会出现如下错误 org.springframework.dao.InvalidDataAccessAp转载 2012-07-18 19:12:39 · 673 阅读 · 0 评论