Hibernate详细配置

  

Hibernate运行原理:

创建Configuration对象(读取hibernate.cfg.xml配置文件) —》SessionFactory ---> Session ---->

Transaction ----> 执行操作 ---》关闭Session。

session常用方法:

save(Object obj) —— 添加数据。

update(Object obj) —— 修改数据

delete(Object obj)—— 删除数据。

get(Class cls, 主键) —— 查询单个对象。

1. 手动配置Hibernate

步骤:

a) 配置并建立数据库连接信息。

b) 给项目添加Hibernate支持。

c) 创建一个实体类(跟数据库表的列对应)。

d) 还需要建立一个配置文件(实体名.hbm.xml),让实体与数据库中表对应(ORM对象关系映射)。

e) 将对象关联的配置文件添加到hibernate.cfg.xml中。

2. 自动配置Hibernate

略。。。。。。。。。。。

3. Hibernate中的主键管理?

重点掌握3种主键的管理策略:

Oracle数据库:sequence(序列)

其他类型数据库:native(本地管理(数据库自行管理))

程序中手动控制:assigned(手动设置主键值)

4. 数据库中的关联关系如何处理?

数据表中的关联关系处理:1....1 关系 、 1.....n 关系 、 n.......n 关系(1...n关系)

好处:提取数据更方便快捷。

注意事项:

1. 不能使用property标签,表示对象类型(只能用来表示基本数据类型)。

2. 对象类型必须使用关联标签配置。(many-to-one(外键表配置使用;例如:emp)、set(主键表配置;例如:Dept))

3. 当实体中多个属性,对应数据库中一个列时;添加、修改时不能判断到底使用哪一个属性;所以必须在(关联标签中配置<many-to-one>(insert="false" update="false"))

4. 配置关联关系时,必须在主键表中的<set>端添加一个属性:inverse=”true”;(表示两张表中之间的关系由主键表来维护)

5. 级联删除数据;(删除主键表的数据时,将外键表中的数据一起删除);在<set>端添加cascade=”delete”;(这个属性不能直接启用,需要先查询,然后再删除)。

原文地址:https://www.cnblogs.com/huzi007/p/2811865.html