Hibernate3.6
持久层的框架
添加环境:
1,jar包
2,配置文件
hibernate.cfg.xml
xxx.hbm.xml
使用Hibernate实现CRUD操作
// --- 准备
Configuration cfg = new Configuration().configure(); // hibernate.cfg.xml
SessionFactory sessionFactory = cfg.buildSessionFactory(); // 只需要一个
// --- 模板代码
Session session = sessionFactory.openSession();
Transaction tx = null;
try{
tx = session.beginTransaction();
// 操作
tx.commit();
}catch(Exception e){
tx.rollback();
throw e;
}finally{
session.close();
}
// --- 操作
Session中的方法:
save(Object) --> insert into ..
update(Object) --> update ..
saveOrUpdate(Object)
delete(Object) --> delete ..
get(Class, id) --> select ...
createQuery(hql) --> select ..
主配置文件
1,数据库信息
方言、URL、驱动、用户名、密码
2,导入映射文件
3,其他配置
show_sql = true
hbm2ddl.auto = update
映射配置:
映射基础
类 -- 表
属性 -- 列
映射普通属性
name, type, column, length, not-null, ...
映射主键
主键生成略:native, uuid
Session
SQL
查询的是表和表中的字段。
不区分大小写
HQL
Hibernate Query Language
与SQL相似
查询的是对象和对象中的属性。
关键字不区分大小写,但类名与属性名区分大小写。
==========================================================
API
1,API简介。
2,Session中的方法。
3,查询:HQL与Criteria
配置:
1,主配置文件
2,映射文件
映射基础
普通属性
主键
集合属性
关联关系
一对多/多对一
多对多
一对一
继承结构
-----------------------------------
-- API简介
Configuration 配置
configure()
configure(String resource)
addResource(String resource) 导入一个指定位置的映射文件
addClass(Class clazz) 导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml的映射文件
buildSessionFactory()
SessionFactory Session工厂
openSession()
getCurrentSession()
close()
Session 很重要的一个对象
操作对象的方法
save(Object)
update(Object)
delete(Object)
查询的方法
createQuery(String) --> Query
createCriteria(Class)
管理事务的方法
beginTransaction() --> Transaction
getTransaction() --> Transaction 获取当前Session中关联的事务对象
其他的方法
...
Transaction 事务
commit()
rollback()
Query 查询
list() 查询一个结果集合。
uniqueResult() 查询一个唯一的结果,如果没有结果,则返回null,如果结果有多个,就抛异常。
...
--------------------------------
Hibernate主配置文件
1,配置的key前面的hibernate.前缀 可以有,也可以没有。如hibernate.dialect或dialect都可以。
2,按作用可分为三类:
1,数据库信息
<property ...>
方言、JdbcUrl、驱动、用户名、密码
2,导入映射文件
<mapping ...>
3,其他配置
<property ...>
show_sql 显示生成的SQL语句
format_sql 格式化生成的SQL语句
hbm2ddl.auto 自动生成表结构
hibernate.hbm2ddl.auto
生成表结构的两种方式:
1,hbm2ddl.auto
2,使用SchemaExport工具类
注意:只能建表,不能建库
==============
主键:
如果是数字,建议使用包装类型。
identity
sequence
hilo
native
assigned
uuid
foreign
...
相关推荐
Hibernate提供了第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以及查询缓存,提高性能。 通过理解并熟练运用这些知识点,J2EE开发者能有效利用Hibernate简化数据库操作,提高开发...
通过深入理解并熟练运用以上知识点,开发者能够高效地利用Hibernate进行数据库操作,降低数据访问层的复杂度,提升开发效率。在实际项目中,还需要根据需求调整配置、优化性能,以达到最佳效果。
- `load`方法是基于对象标识符(OID)来获取对象,它返回的是一个代理对象,实际的对象数据会在第一次访问属性时从数据库加载,实现了延迟加载。如果对象不存在,会抛出`EntityNotFoundException`。 - `get`方法...
7. **缓存机制**:解释Hibernate的两级缓存(第一级缓存Session和第二级缓存Provider),以及查询缓存的工作原理和配置。 8. **延迟加载与立即加载**:分析Hibernate4的懒加载和急加载策略,以及如何通过注解或配置...
以下是关于Hibernate的一些关键知识点: 1. **JDBC对比Hibernate**: 传统的JDBC操作涉及手动建立和管理数据库连接,而Hibernate通过提供更高层次的抽象,自动处理这些细节,使得开发人员可以更专注于业务逻辑。 2....
### Hibernate基础知识点详解 #### 一、Hibernate简介与优势 **Hibernate** 是一款开源的对象关系映射(ORM)框架,它允许开发者以面向对象的方式来处理数据库操作,从而简化了Java应用与关系型数据库之间的交互。...
**Hibernate核心知识点详解** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式处理数据库事务。在本文中,我们将深入探讨Hibernate的关键概念、...
### Hibernate实战知识点解析 #### 一、书籍简介与评价概览 《Hibernate实战》是一部备受赞誉的关于Hibernate框架的专业书籍,被广泛认为是最权威的Hibernate著作之一。该书由Hibernate项目的核心开发者撰写,因此...
### 关于《Beginning Hibernate: For Hibernate 5》的知识点总结 #### Hibernate 5 概述 - **定义**: Hibernate 是一款流行的开源对象关系映射(ORM)框架,它简化了数据库与 Java 对象之间的交互过程。 - **版本**...
根据提供的文件信息,我们可以整理出一系列关于Java的重要知识点,这些知识点涵盖了Java基础...以上知识点总结涵盖了Java语言的核心概念和技术细节,对于准备Java面试或希望深入理解Java技术的开发者来说非常有价值。
Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),可以提高性能,减少对数据库的访问。 **总结** 这个简单的Hibernate例程涵盖了从环境配置、实体类定义到持久化操作、事务管理和...
“第一段代码”部分则鼓励读者动手实践,通过编写简单的代码来体验Hibernate的基本功能,如保存和查询数据。 #### Hibernate基础语义与高级特性 “Hibernate基础语义”深入介绍了Configuration、SessionFactory、...
**第一部分:Hibernate入门** 这部分主要介绍了Hibernate的基本概念和安装配置。Hibernate基于Java Persistence API(JPA),它提供了对象关系映射(ORM)功能,将Java类映射到数据库表。首先,你需要下载Hibernate...
`Hibernate第一章.txt`可能涵盖了这一主题。Hibernate是一个Object-Relational Mapping(ORM)工具,它允许开发者用面向对象的方式处理数据库。通过使用Hibernate,我们可以将Java对象映射到数据库表,这样就能在...
以上知识点只是Hibernate框架的一部分,实际的讲义和笔记可能会涵盖更多细节,如性能优化、复杂查询、CGLIB和JPA集成等内容。源代码示例则会进一步帮助学习者将理论知识转化为实践技能。在学习这些资料时,应结合...
下面将详细介绍与标题、描述及部分代码相关的几个核心知识点: ### Hibernate 连表查询基础 Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发人员将Java对象模型映射到数据库表,并在对象和数据库之间...
9. **缓存机制**:Hibernate 3引入了第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以提高性能。 10. **关联映射**:包括一对一(OneToOne)、一对多(OneToMany)、多对一...
在我一年半的开发经验中,我逐渐积累了对Hibernate的深入理解和实用技巧,现在就与大家分享一下这些关键知识点。 首先,我们要理解Hibernate的核心概念:实体(Entity)、持久化(Persistence)、会话(Session)和...
【知识点详解】 1. **Hibernate连接池的概念与作用** Hibernate连接池是一种管理数据库连接的机制,它允许应用程序重用已打开的数据库连接,避免频繁地创建和关闭连接,从而提高数据库操作的性能和效率。连接池在...
### BONC_Hibernate知识点详解 #### 一、概述 **BONC_Hibernate**文档是一份关于Hibernate框架基础知识的详细介绍资料,旨在帮助初学者快速掌握Hibernate的核心概念和技术要点。Hibernate是一个开放源代码的ORM...