Hibernate
文章平均质量分 63
hjl_168562
这个作者很懒,什么都没留下…
展开
-
利用Hibernate对象配置信息自动导出生成表结构
package cn.com.justin.hibernate; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; /** * 执行导出操作,hibernate将根据实体映射信息自动生成表结构 * @author Justin Hu * */ pub原创 2013-03-26 17:57:36 · 2153 阅读 · 0 评论 -
Java软件开发基础知识梳理之(6)------事务相关知识点
一、数据库事务:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,用于在多用户并发操作的环境下保证数据的完整性,防止脏数据的产生 二、Java事务类型 1 JDBC事务:使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中;JDBC 事务的一个缺点是事务的范围局限于一个数据库连接,一个 JDBC 事务不能跨越多个数据库 2 JTA事务原创 2014-03-23 22:09:15 · 541 阅读 · 0 评论 -
Java软件开发基础知识梳理之(9)------Hibernate抓取策略
一、Hibernate定义的四种抓取策略 1 Join Fetching:Hibernate通过在获取主对象的SQL语句中使用Outer Join一并获取关联对象或关联集合 2 Select Fetching:另外发送一条 SELECT 语句抓取当前对象的关联实体或集合,只有当通过主对象访问关联对象或关联集合时才会发出额外的这一条SQL语句 3 Subselect Fetching:另外发送原创 2014-04-20 12:25:15 · 517 阅读 · 0 评论 -
Java软件开发基础知识梳理之(8)------Hibernate并发控制
一、悲观锁(Pessimistic Lock) 悲观锁是Hibernate基于数据库的机制来实现的,根据是否设定了查询条件可以锁定指定的记录或锁定整个表 1 可选的锁定模式有如下几种: LockOptions.NO_WAIT: LockOptions.NONE: LockOptions.READ: LockOptions.UPGRADE:会在生成的sql语句最后加上"for updat原创 2014-04-17 15:43:04 · 2337 阅读 · 0 评论 -
Java软件开发基础知识梳理之(5)------Hibernate N + 1产生原因及解决办法
出现场合: 1 在ORM实体映射中存在一对多(one-to-many) ,在1的一方,通过1条sql查找得到了n个对象,由于关联的存在 ,那么又需要将这n个对象关联的集合取出,所以发出n条sql,于是本来的1条sql查询变成了n+1条 2 在ORM实体映射中存在(many-to-one),在多的一方,通过1条sql查询得到了n个对象,由于关联的存在,也会将这n个对象对应的1 方的对象取出,原创 2014-03-20 11:27:25 · 562 阅读 · 0 评论 -
Java软件开发基础知识梳理之(7)------Hibernate查询数据
一、查询数据的几种方式 1 通过Session.get()和Session.load()根据id获取单个实体对象 2 通过Query接口使用HQL查询数据,如 Session session = HibernateSessionFactory.getSession(); Criteria criteria = session.createCriteria(PE_Contact.原创 2014-03-27 16:28:08 · 529 阅读 · 0 评论 -
Hibernate性能优化策略
Hibernate性能优化策略 一、降低访问数据库的频率,减少select语句的数目,实现手段包括 1 使用迫切左外连接或迫切内连接检索策略; 2 对延迟检索或立即检索策略设置批量检索数目; 3 使用查询缓存; 二、避免多余加载程序不需要访问的数据,实现手段包括 1 使用延迟检索策略; 2 使用集合过滤器; 三、避免报表查询数据占用缓存。实现手段为利用投影查询功能,查询出实体的部分原创 2013-04-10 10:36:56 · 429 阅读 · 0 评论 -
Hibernate缓存机制----二级Cache
二级Cache是SessionFactory范围内的缓存,所有的Session共享同一个二级Cache。在二级Cache中保存持久性实例的散装形式的数据。二级Cache的内部是如何实现的并不重要,重要的是采用哪种正确的缓存策略,以及采用哪种Cache Providers。持久化不同的数据需要不同的Cache策略,比如说一些因素将影响到Cache策略选择:数据的读/写比例、数据表是否能被其他的应用程转载 2013-04-11 10:24:42 · 960 阅读 · 0 评论 -
使用MySql时的hibernate.cfg.xml文件样例
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mysql://localhos原创 2013-03-26 17:59:48 · 559 阅读 · 0 评论 -
Java软件开发基础知识梳理之(10)------Hibernate二级缓存
1 Hibernate一级缓存是Session级缓存,二级缓存(SessionFactory级缓存)是进程级的, 二级缓存适用于很少被修改的数据或者不是很重要的数据, 允许出现偶尔的并发问题 2 开启二级缓存hibernate.cfg.xml需要添加如下配置 true org.hibernate.cache.ehcache.EhCacheRegionFactory ehc原创 2014-04-22 15:15:57 · 472 阅读 · 0 评论