Hibernate解决的是模型不匹配、阻抗不匹配1、新建javaproject2、添加如下的jar包3、在实体包下创建实体类User4、创建并编写实体类到数据库的映射文件并进行配置MyUser.hbm.xml5、在src目录下创建hibernate.cfg.xml配置文件。
N+1使用iterator时的n+1在一对一懒加载中的n+1监听器拦截器与事件(监听)编写监听器在hibernate.cfg.xml中增加配置选项使用SQL使用命名sql将命名语句放到class内部测试类。
一对一关联关系(外键关联)我们做这样的一个假设,公司分配员工住宿,每人分配一个房间。
Hibernate 概述
映射文件详解目标学习Hibernate的配置文件(hibernate.cfg.xml)学习Hibernate的映射声明(*.hbm.xml)Hibernate配置文件Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性每个Hibernate配置文件对应一个Configuration对象。
Hibernate实体对象生命周期实体对象三种状态实体对象的生命周期就是指实体对象由产生到被Gc挥手的一段过程自由状态不处在session的缓存中,也可以说,不被任何一个session实体关联在数据库中设有对应记录持久状态位于一个session实例的缓存中,也可以说持久化对象总被一个session实例关联持久化对象和数据库中的相关记录对应session在清理缓存时.
Hibernate理解持久化、ORM理解持久化瞬时状态:在程序运行的时候,有些程序数据保存在内存中,当程序退出后,这些数据就不复存在了,所以,我们称这些数据的状态为瞬时的。持久状态:在使用一些软件的时候,有些数据在程序退出后,还以文件等形式保存在硬盘中,那么我们称这些数据的状态是持久的。持久化:就是讲程序中的数据在瞬时状态和持久状态之间转换的机制。ORM概述对象-关系映射:能在对象和关系型数据库两者间进行数据转换的机制。
在项目中使用Hibernate进行大数据量的性能测试,有一些总结, 1)在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session.clear()或者session. Evict(Object)在处理过程中,清除全部的缓存或者清除某个对象。
Hibernate Tools for Eclipse Plugins 的安装和使用,这段时间事情比较多一直没有写博客,现在事情忙完了,公司的书柜里有一堆关于Hibernate、Struts和Spring的书,翻了翻发现书中的内容基本上都过时,我喜欢从官方网站上看资料学习最新的技术,这次是我阅读了Hibernate Tools的官方Documents后根据自己的实践总结的。
Eclipse中反向生成hibernate实体类+jpa注释
Hibernate 3 配置文件参数汇总
Hibernate注释大全
Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性。对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现这两个属性实在是难以理解,无奈只好将这个两个属性解释工作交给了Google和Baidu,查看了许多牛人的解释,加上自己在Eclipse上的调试,对"inverse"和"cascade"这两个属性有了一定的见解。
Hibernate是笔者使用了超过5年的优秀ORM框架,虽然说使用了5年,但笔者并没有把握说自己真正意义上的精通Hibernate。说道熟悉Hibernate还差不多,因为Hibernate用法和特性只要使用过或许都很简单,但是要做到发挥Hibernate最大限度的潜力,Hibernate优化,或者说Hibernate性能优化笔者仅仅是初窥门径而已。这里摘录一篇牛人对于Hibernate优化的文章,希望对自己以后的使用指引下方向吧。这篇是上一篇的续作,着实是不错,推荐hibernate用户,尤其是像我一样的用户看看,会有收获的
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
Hibernate悲观锁:在数据有加载的时候就给其进行加锁,直到该锁被释放掉,其他用户才可以进行修改;Hibernate乐观锁:在对数据进行修改的时候,对数据才去版本或者时间戳等方式来比较,数据是否一致性来实现加锁。
Hibernate关系映射
事务并发时可能出现的问题: ※丢失更新:两个事务A和B读入同一数据并修改,A事务修改后提交,但B事务仍在执行,B仍然是按照一开始读到是数据做修改,此时,A的修改就被丢失掉了! ※不可重复读:事务A读取数据后,事务B对数据执行更新操作[包括修改数据、增删记录],使A再次读取的数据与第一次读的不一致! ※读“脏”数据:【即不正确的数据】事务A修改了某一数据并将其写回磁盘,事务B读取同一数据后,A由于某种原因被撤销,这时A已修改过的数据恢复原值,而B读到的数据就与数据库中的数据不一致,则B读到的数据就是“脏”数据!
配置映射文件详解目标学习Hibernate的配置文件(hibernate.cfg.xml)学习Hibernate的映射声明(*.hbm.xml)Hibernate配置文件Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性每个Hibernate配置文件对应一个Configuration对象。
在向大家详细介绍Hibernate Session缓存之前,首先让大家了解下主配置,然后全面介绍延迟加载。