摘要:
Hibernate 的一级缓存和二级缓存都是对实体进行缓存,他不会缓存普通属性,如果想对普通熟悉进行缓存,可以考虑使用查询缓存。 对于查询缓存来说,他缓存的Key就是查询所用的 HQL 或者 SQL 语句,查询缓存不仅要求使用的语句相同,还要求参数必须一致,查询缓存默认是关闭的,为了开启查询缓存,需要修改 Hibernate.cfg.xml 配置文件,增加如下配置: true ... 阅读全文
摘要:
Hibernate 在执行持久化的过程中,应用程序通常无法参与其中,通过事件框架,Hibernate 允许应用程序能响应特定的内部事件,从而允许实现某些通用的功能,或者对 Hibernate 进行扩展。 拦截器,通过 Interceptor 接口,可以从 Session 中回调应用程序的特定方法,这种机制可以让应用程序在持久化对象被保存、更新、删除或加载之前,检查并修改其属性,可... 阅读全文
摘要:
Hibernate 包括二个级别的缓存,默认的总是启用Session级别的一级缓存,可选的 SessionFactory 级别的二级缓存,Session级别的一级缓存,但应用保存持久化实体、修改持久化实体时,Session 并不会立即把这种改变 flush 到数据库中,只有程序显示的调用 flush 方法,或者程序关闭 Session 时才会把这些改变一次性的flush到底层数据... 阅读全文
摘要:
1-N关系的1端持久化类 package org.drsoft.hibernate.model.oneToMany; import java.util.Date; import java.util.Set; import javax.persistence.*; @Entity @Table(name = "OneToMany_One") public class On... 阅读全文
摘要:
Hibernate 提供的HQL(Hibernate Query Language)语句也支持批量 update 和 delete 语法,语法格式如下: [UPDATE | DELETE] FROM [WHERE conditions] 关于上面的语法格式有以下需要值得注意的: 在 FROM子句中,FROM 关键字是可选的,可以不写 FROM 关键字 在 FROM 子句中,只能有一个类名,可以在... 阅读全文
摘要:
Hibernate 支持使用原生的SQL查询,使用原生SQL查询可以利用某些数据库特性,原生SQL查询也支持将SQL语句放在配置文件中配置,从而提高程序的解耦,命名SQL查询还可以用于调用存储过程。 SQL查询是通过SQLQuery接口来表示的,SQLQuery接口是Query接口的子接口,完全可以使用Query接口的方法,SQLQuery增加了二个重载方法 addEntity():将查询到的记录... 阅读全文
摘要:
持久化类标注 标注 @Entity:注解声明该类是一个Hibernate的持久化类 标注 @Table:指定该类映射的表 参数 name:指定映射数据库表的名称 参数 uniqueConstraints:为持久化类所映射的表设置唯一约束,该属性的值是 @UniqueConstraint 标注数组 参数 indexes:为持久化类说映射的表设... 阅读全文
摘要:
关系数据库方言DB2org.hibernate.dialect.DB2DialectDB2 AS/400org.hibernate.dialect.DB2400DialectDB2 OS/390org.hibernate.dialect.DB23900DialectMicrosoft SQL Server 2008org.hibernate.dialect.SQLServer2008Dialect... 阅读全文
摘要:
下载 Hibernate ,打开地址 www.hibernate.org ,点击 Hibernate ORM -> Downloads 下载 4.3.11 版本,要使用Hibernate 需要把 Lib 下面的 required 目录和 optional\c3p0 复制到站点的 WEB-INF\lib 目录下,其中 required 目录是 Hibernate 的必须库;opt... 阅读全文
摘要:
在线安装,要求 Eclipse Neon 4.6 版本和Java 8,在 Help > Install New Software,在打开的窗体中的 Work with 中输入URL地址"http://download.jboss.org/jbosstools/neon/stable/updates/",展开 Abridged Jboss Tools ,选择 Hibernate Tools,点击 N... 阅读全文