Hibernate教程——史上最全面的项目和教程集合
Hibernate教程
Hibernate,由Gavin King创建,被称为Java开发人员的最佳和主导对象/关系持久性(ORM)工具(现在支持.NET)。它提供了许多优雅和创新的方法来简化Java中的关系数据库处理任务。
Hibernate在许多方面都很出色,但它需要适当地使用。在本教程中,它提供了许多有关使用Hibernate3的分步示例和说明。
PS教程更新为Hibernate v3.6.1.Final。
本教程的学习会涉及英文文章,使用翻译插件即可愉快学习^_^
Hibernate快速入门
Hello World示例体验Hibernate框架。
- Maven 2 + Hibernate 3.2.3 + MySQL 5.0示例(XML Mapping)
Hibernate 3.2.3示例在MySQL数据库中,具有经典的hbm映射。 - Maven 2 + Hibernate 3.2.3 + MySQL 5.0示例(注释)
Hibernate 3.2.3在MySQL数据库中的示例,带有Hibernate / JPA注释。 - Maven 3 + Hibernate 3.6.3 + Oracle 11g示例(XML Mapping)
Oracle数据库中的Hibernate 3.6示例,具有经典的hbm映射。 - Maven 3 + Hibernate 3.6.3 + Oracle 11g示例(注释)
Oracle数据库中的Hibernate 3.6示例,带有Hibernate / JPA注释。
Hibernate Association(表关系)
如何在Hibernate中一对一,一对多,多对多地定义表关系。
- 一对一示例(XML Mapping)
Hibernate使用hbm映射文件的一对一示例。 - 一对一示例(注释)
使用注释代码一对一地休眠。 - 一对多示例(XML Mapping)
Hibernate使用hbm映射文件的一对多示例。 - 一对多示例(注释)
使用注释代码对一对多示例进行休眠。 - 多对多示例(XML Mapping)
Hibernate使用hbm映射文件进行多对多示例(连接表中没有额外的列)。 - 多对多示例(注释)
Hibernate带有注释代码的多对多示例(连接表中没有额外的列)。 - 多对多示例 - 连接表+额外列(注释)
Hibernate带有注释代码的多对多示例(使用连接表中的额外列)。 - 关闭主题:理解反向键工作,示例和解释
“反向”是Hibernate中最令人困惑的关键字,但您必须清楚地理解这一点,以便微调您的关系性能。
Hibernate / JBoss Tools + Eclipse IDE
学习如何使用Hibernate工具是必须的!
- 在Eclipse IDE中安装Hibernate / JBoss工具在Eclipse IDE中
安装Hibernate。 - 使用Hibernate Tools生成Hibernate映射文件和注释
自动为您生成Hibernate代码。
Hibernate日志记录
如何登录Hibernate
- 在Hibernate中配置日志记录 -
SLF4j + Log4j使用Hibernate集成SLF4j + Log4j。 - 在Hibernate中配置日志记录 -
Logback使用Hibernate集成Logback。
Hibernate连接池
如何在Hibernate中配置数据库连接池
- 在Hibernate中配置C3P0连接池使用Hibernate
集成C3P0。 - 在Hibernate中配置DBCP连接池使用Hibernate
集成Apache DBCP。
Hibernate Cascade
Hibernate级联用于自动管理另一方的状态。
- 级联示例(保存,更新,删除和删除孤立)
保存,更新,删除和删除孤立的级联示例。删除和删除孤儿之间的区别。 - 级联和反向之间的差异
许多Hibernate开发人员对级联和反向之间的差异感到困惑,这里是解释。 - Cascade - JPA和Hibernate注释常见错误
由初学者或经验丰富的Hibernate开发人员制作的一个超级简单的常见注释错误 - 在Hibernate中的JPA级联注释?
Hibernate查询语言(HQL)
Hibernate自己的语言用于数据操作,它与数据库SQL语言非常相似。
- Hibernate查询示例(HQL)
HQL CRUD示例,选择,更新,删除和批量插入(没有单个插入支持)。 - Hibernate参数绑定示例
使用“命名参数”和“位置参数”方法将参数绑定到HQL。 - 如何在Hibernate查询中嵌入Oracle提示将Oracle提示
嵌入到Hibernate Query中以增加Oracle查询性能的技巧。
休眠标准
Hibernate Criteria API是Hibernate查询语言(HQL)的替代品。在许多可选搜索条件中,它始终是一个很好的解决方案。
- Hibernate Criteria示例
Criteria示例 - 基本查询,排序查询,限制查询和分页结果。
Hibernate Native SQL
在某些情况下,Hibernate HQL或Criteria不足以完成您想要的操作,在这里您可以直接使用本机数据库SQL语言。
- Hibernate本机SQL查询示例
显示如何在Hibernate中使用本机SQL的指南。
Hibernate命名查询
命名查询允许开发人员将HQL放入XML映射文件或注释中以实现可维护性,您只是不希望所有的HQL语法都分散在Java代码中。:)
- Hibernate命名查询示例
在XML文件和Annotation中使用命名查询。
Hibernate Transaction
所有与Hibernate Transaction相关的东西
- Hibernate Transaction handle示例
使用Hibernate事务的简单标准示例。
Hibernate Advance技术
一些Hibernate Advance技术,很少使用但实用技能(数据过滤器和拦截器)。
- Hibernate数据过滤器示例 - XML和注释
Hibernate数据过滤器用于过滤数据库中的检索数据,这是一个使用XML或Annotation中的数据过滤器的指南。 - Hibernate拦截器示例 - 审计日志
Hibernate拦截器用于拦截像CRUD操作这样的Hibernate事件,这是Hibernate拦截器审计日志实现的一个详细示例。
Hibernate性能
一些调整将使你的Hibernate运行得更快:)
- dynamic-insert属性示例
使用dynamic-insert来避免SQL INSERT语句中包含未修改的属性。 - dynamic-update属性示例
使用dynamic-insert来避免SQL UPDATE语句中包含未修改的属性。 - Hibernate可变示例(类和集合)
使用mutable关键字来避免生成不必要的SQL语句。 - Hibernate - 获取策略示例
Hibernate获取策略用于优化Hibernate生成的select语句,这是任何Hibernate开发人员必须学习的技能。 - session.get()和session.load()之间有所不同
了解何时应该使用get或load来检索对象以避免不必要的数据库命中。
将Hibernate与其他框架集成
将Hibernate与其他框架集成的示例。
- Struts + Hibernate集成
示例将Hibernate与Struts框架集成。 - Struts + Spring + Hibernate集成
示例将Hibernate与Struts和Spring框架集成在一起。 - Spring + Hibernate Integration
将Hibernate与Spring框架集成的示例。 - Spring + Hibernate Integration(Annotation)
将Hibernate与Spring框架(Annotation版本)集成的示例。
Hibernate FAQ
一些常见的回答问题:
- 如何从不同的目录加载hibernate.cfg.xml
默认情况下,Hibernate在项目类路径中查看hibernate.cfg.xml,这是从指定文件夹加载它的指南。 - 如何以编程方式添加Hibernate XML映射文件(hbm.xml)以编程
方式加载hibernate.cfg.xml的提示 - Hibernate数据库方言
列表不同类型数据库供应商的方言集合列表。 - show_sql,format_sql和use_sql_comments
配置Hibernate以将生成的SQL语句显示到控制台。 - 如何显示hibernate sql参数值--P6Spy
使用P6Sqpy第三方库来显示Hibernate SQL参数值。 - 如何显示hibernate sql参数值 - Log4j
使用Log4j显示Hibernate SQL参数值。 - 如何在Hibernate中调用存储过程
不建议将业务逻辑放入存储过程中,没关系,您仍然允许在Hibernate中调用存储过程。 - 如何在Hibernate中使用数据库保留关键字
在某些特殊情况下,您可能需要在Hibernate类中使用database关键字(不推荐),这是实现它的技巧。 - 如何将图像保存到数据库中
教程如何使用Hibernate将图像保存到数据库中。
Hibernate常见错误
以下是Hibernate开发中的常见错误消息列表。
- 如果列名为关键字,则无法插入,例如DESC
- Hibernate - 找不到C3P0ConnectionProvider
- Hibernate - 不推荐使用AnnotationConfiguration类型
- java.lang.ClassNotFoundException:javassist.util.proxy.MethodFilter
- 请记住,序数参数是基于1的! - 休眠模板
- org.hibernate.AnnotationException:未知的Id.generator
- 需要使用AnnotationConfiguration实例
- java.lang.NoClassDefFoundError:org / dom4j / DocumentException
- java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory
- java.lang.NoClassDefFoundError:org / apache / commons / collections / SequencedHashMap
- java.lang.NoClassDefFoundError:net / sf / cglib / proxy / CallbackFilter
- java.lang.NoClassDefFoundError:com / mchange / v2 / c3p0 / DataSources
- java.lang.NoClassDefFoundError:org / hibernate / annotations / common / reflection / ReflectionManager
- java.lang.NoClassDefFoundError:antlr / ANTLRException
- java.lang.NoClassDefFoundError:javax / transaction / Synchronization
- java.lang.ClassFormatError:在类文件中不是本机或抽象的方法中的Absent Code属性...
- java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter
- java.lang.ClassNotFoundException:javax.persistence.Entity
- java.lang.ClassNotFoundException:javax.transaction.TransactionManager
- java.lang.ClassFormatError:在类文件中不是本机或抽象的方法中的Absent Code属性...
无关
- 为什么我为我的项目选择Hibernate框架?
我想在未来的项目中实现Hibernate的原因。
Hibernate参考
- Hibernate官方文档
- Hibernate Wiki
作者 mkyong
Mkyong.com的 创始人,喜欢Java和开源的东西。在Twitter上关注他,或在Facebook或Google Plus上与他交朋友。如果您喜欢我的教程,请考虑向这些慈善机构捐款[推荐 包括联合国儿童基金会 无国界医生]。
本文出翻译自:http://www.mkyong.com/tutorials/hibernate-tutorials/
转载请备注作者和出处
Hibernate教程——史上最全面的项目和教程集合相关推荐
- Eclipse安装教程 ——史上最详细安装Java Python教程说明
Eclipse安装教程 --史上最详细安装Java&Python教程说明 ...
- 老式计算机组装教程,史上最全的电脑安装教程 90后小妹妹手把手教你装电脑的图文教程...
如今电脑已经成为家家户户都不可少的家用电器,而组装电脑是家庭最适合的,相比品牌电脑性价比要高.可能一些用户自己还不会装电脑,那么你可是比较落后了,现在很多年轻人都会自己装电脑,如果你还不会请看以下90 ...
- .Net魔法堂:史上最全的ActiveX开发教程——发布篇
一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程--开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包 C#开发的Activ ...
- 史上最简单的 Spring MVC 教程(九)
1 前言 在史上最简单的 Spring MVC 教程(五.六.七.八)等四篇博文中,咱们已经分别实现了"人员列表"的显示.添加.修改和删除等常见的增.删.改.查功能.接下来,也就是 ...
- 史上最全vscode配置使用教程
史上最全vscode配置使用教程 正在上传-重新上传取消 灰蓝宇墨 上海闪店联信息科技有限公司 前端工程师 5,041 人赞同了该文章 工欲善其事,必先利其器.想要优雅且高效的编写代码,必须熟练使 ...
- 10_史上最全的Markdown使用教程(没有之一)(20190115)
我用markdown写博客已经有半年之久了吧,但是还是会出现有些你想用的功能很难找,或者你尝试使用它不好使,为了帮助那些和我一样热衷于使用markdown的乘客,我决定自己造一架航班,让我们一起搭乘M ...
- .Net魔法堂:史上最全的ActiveX开发教程——部署篇
一.前言 接<.Net魔法堂:史上最全的ActiveX开发教程--发布篇>,后我们继续来部署吧! 二. 挽起衣袖来部署 ActiveX的部署其实就是客户端安装ActiveX组件,对未签 ...
- 史上最全的FreeIPA搭建教程(二)
如有疑问,请私信我!!!! 码字儿截图不容易啊 1.web后台使用教程 名字显示是反的,需要改成正确的 2.FreeIPA更新证书 默认的证书都是2年时间,到期不更新后果的就是所有账号都无法登录了 # ...
- 史上最简单的spark系列教程 | 完结
<史上最简单的spark系列教程>系列: 与其说是教程不如说是改良后的个人学习笔记|| 教程参考自:<spark官方文档>,<spark快速分析>,<图解Sp ...
- 如果自己组装一个台式计算机有哪些,2015电脑组装教程:史上最全自己组装电脑教程...
DIY电脑一直都是电脑爱好者非常喜欢的,电脑组装通常包括电脑硬件的选择,DIY硬件组装以及操作系统安装三个部分. 对于电脑爱好者来说,通过自己动手DIY组装电脑,不仅可以更为深刻的认识硬件,了解电脑主 ...
最新文章
- 【原】iOS学习之事件处理的原理
- Java将异常入库_Exception异常库
- css中对position的几种定位方式的最佳诠释
- 包装类 || 装箱与拆箱
- QT安卓web使用mysql_Qt使用MySQL笔记一
- TensorFlow Lite支持设备内置会话建模
- ASP.NET Core 中断请求了解一下(翻译)
- 【转】老男孩:Linux企业运维人员最常用150个命令汇总
- linux下设置java,Linux下设置java的环境变量
- php proc open 返回,PHP proc_open多次打开
- sqlite字段类型说明
- 关于集合addAll()方法的坑度
- Bjui框架--日期选择器
- matlab与vrep联合仿真,MATALB与VREP联合仿真
- 谷歌VR展示360度全景图
- GitHub上十大热门Python项目
- html.ex.day02
- tilemap 菱形_带高度的isometric tile map 斜45度 2d 地图制作
- 《OpenGL v1.1》——(1)接入Win32窗口,并描绘基本图元
- WPF 实现圆形进度条
热门文章
- 计算机网络——网络层
- 【Java】俄罗斯方块小游戏(附源码)
- android地图搜索功能,[Android]百度地图POI检索
- 《Android 应用案例开发大全(第3版)》——第1.2节掀起Android的盖头来
- cv2 和matplotlib中画图时的颜色选取
- 南华大学c语言实验答案,南华大学C语言习题答案2012年版
- sql必知必会 案例数据库安装教程
- python简明教程电子书下载_python简明教程中文pdf下载-Python入门级电子书完整免费版-东坡下载...
- 70个python毕设项目_这10个Python项目很有趣!
- JAVA进行文档转换_基于JAVA实现由Word文档向LaTeX文档转换的方法及系统与流程