读书人

struts2+hibernate3+spring2读书笔记十

发布时间: 2012-10-06 17:34:01 作者: rapoo

struts2+hibernate3+spring2读书笔记10(Hibernate配置文件)
第11章 Hibernate配置文件

一.配置hibernate.cfg.xml
Hibernate运行时需要获取一些数据库的基本信息,包括数据库URL、数据库用户名、数据库密码、数据库JDBC驱动类和数据库dialect等。
1.几种常用数据库的hibernate.cfg.xml配置
(1)mysql




(2)SQL Server


 

(3)Oracle



2.hibernate.cfg.xml连接配置
(1)JNDI连接池


(2)C3PO连接池


(3)dpcp连接池



二.Hbm.xml文件基本配置

1.映射文件的文档类型定义—TD)
(1)hibernate-mapping根元素,该元素可存在0到多个meta、typedef、import等元素,它的具体属性如下:
?default-cascade:设置默认的层叠样式
?default-lazy:设定默认的延迟加载方式
?package:该属性用于设置包的类名,在默认情况下,hibernate-mapping 的子元素class需要提供完整的类名,当有多个class文件或class中包含了很多关联映射时,这种方式很烦锁。若设定了hibernate-mapping的package的值,则将简化一部分工作。

(2)class元素,它常用的属性如下:
?name:类名,当未指定package时,类名需要将包的全部路径包含在内,否则只需给出类名
?table: 对应的数据表的名称,例如SEC_USER
?schema:设置命名空间。

(3)id元素(主键能为空,主键必须唯一,主键值永远不变),它常用属性如下:
?name:在映射的pojo类中的名称。
?colum:在数据库的表中对应的字段名称
?type:对应的pojo类中的类型

MySQL中自增主键的配置如下:



5.编写tb1_user表对应的pojo类:User.java




三.配置一对多关联

1.多对一关联配置,配置User.java和User.hbm.xml

?User.java






备注:<many-to-one../>元素的常用属性
?name:持久化类中的属性名,在本例中为User.java中的dept属性
?column:设定与持久化类的属性对应的关系数据库表中的关键,在本例中为deptId
?class: 对应的持久化类,在本例中为Dept
?not-null:该属性是否允许为空,值可为true或false.当为true时,表示该属性不允许为null,默认为false.


2.一对多关联关系配置—配置Dept.java和Dept.hbm.xml

?Dept.java



备注:在映射关系中,一对多的关联采用<set../>其具体属性如下:
?name:设定持久化类的属性名,在本例中为users
?cascade:表示级联的属性,若设置为“save-update”,表示级联保存和更新
?order-by:设定取得的集合的排序方式,若设置为loginName,表示按照用户对象的loginName属性进行排序
?lazy:是否为立即加载,值可为true或false,当设置为true时,表示立即加载集合对象,默认值为false.

四.配置一对一关联

1.配置一对一“主键关联”

(1)编写数据库脚本scripts-one-to-one-way1.sql
具体脚本如下:



(4)编写UserExt.java




2.一对一“唯一处键关联”配置

(1)数据库脚本




(4)编写User.java




备注:one-to-one元素的property-ref指定为user,表明tb1_user_ext表引用了tb1_user的主键作为它的处键。Cascade属必设置为all,表示在保存、更新或删除User对象时,级联保存、更新或删除UserExt对象


五.配置多对多关联

在关联数据库设计时,多对多关联是一种很常见的表与表之间的关系,而这种关系常被分解为两个一对多的关联,使用一个关联表在这两个表之间“搭桥”

1.多对多关联属性介绍

?class:该对象指多对多关联的另一方的对象的类。
?column:该对象多对多关联的另一方的表的对应字段

2.数据库脚本scripts-many-to-many.sql



(3)编写Role.java




4.配置双向多对多关联

(1)编写User.java




(3)编写Role.java


本章完结,主要是展示了Hibernate的各配置文件的配置



读书人网 >软件架构设计

热点推荐