- 浏览: 1571929 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.主键关联one-to-one
释义:两个表使用相同的主键列值
例如: 身份证(IDCard):id , cardno
中国公民(Person):id , personname
Person.hbm.xml
IdCard.hbm.xml
cascade 的描述
唯一外键关联:many-to-one (unique="true")
释义:是指在两张表的主键值不同时,使用一个新添加的字段来作为外键,以维持 1 对1 关联
例如: 身份证(IDCard):id , cardno, personid(新添加的外键字段)
中国公民(Person):id , personname
IdCard.hbm.xml
Person.hbm.xml
单向一对多关联
例如: 父亲 和 子女 的关系
班级 和 学生 的关系
班级:
classiesd classesName teacher createdate (set)students
学生
stuid stuName
Classes.hbm.xml
Student.hbm.xml
单向多对一关联
释义:和单向一对多相反, 所处的角度不一样
例如: 父亲 和 子女 的关系
班级 和 学生 的关系
班级:
classiesd classesName teacher createdate
学生
stuid stuName classes
Student.hbm.xml
Classes.hbm.xml
注意: 单向 多对一 和单向 一对多 关联 在添加的时候 是有顺序的 根据 关系配置的时候 谁是主空方 就的先添加 主控方
有一个 insert 和upate 语句
双向一对多关联
释义:由于 单向 会出现 添加的时候 有顺序 ,否则会有错误 就出现 双向了
班级:
classiesd classesName teacher createdate (set) students
学生
stuid stuName classes
Classes.hbm.xml
Student.hbm.xml
注意 :双向 表示 你中有我 ,我中有你, 一般采用 双向 关系 替代 单向关系
为了性能考虑 一般主空方 都设在多的那边 (就像一个老师记住那么多学生难,而 一个学生记住下老师 就简单了)
多对多关联
释义:第一个表中的一行可以与第二个表中的一行或多行相关,
第二个表中的一行 也可以于第一个表中的一行 或者 多行相关
为了建立多对多关联 需要建立一个中间表来表示 相互之间的关系.
在应用系统中,有很多领域都设计到多对多关联.比如 权限管理中的用户和角色 ,角色和 功能之间的关系 ,但是在使用中 多对多的管理性能不佳,建议在使用中 尽量避免 大量使用
单向多对多关联
释义:单向多对多关联 在实际应用中使用频率较低,一般不用
例如:
用户和地址的关系
一般只需要在 用户类中 添加 地址的集合关系
Employee.hbm.xml
Address.hbm.xml
双向多对多关联
释义:双向多对多关联 需要在两端都使用集合属性
例如:
员工: empid empName
地址: addid addname
(中间表)用户地址: empid addid
Employee.hbm.xml
Address.hbm.xml
分解双向多对多关联
释义:将双向多对多关联分成两个一对多关系关联
例如:
员工: empid empName
地址: addid addname
(中间表)用户地址: id empid addid (注意 添加了一个id)
Employee.hbm.xml
Addres.hbm.xml
用户 地址关系表
EmpAddress.hbm.xml
权限管理的设计
功能表 :functions_id, function_name ,iden_Name
角色表 :role_id, role_Name ,description
用户表 :userid, userName,Password,inactive,
角色-功能表 : role_functions_id, role_id,functions_id
角色-用户表: role_user_id ,role_id ,user_id
释义:两个表使用相同的主键列值
例如: 身份证(IDCard):id , cardno
中国公民(Person):id , personname
Person.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.sh.entity.Person" table="person" catalog="erp"> <id name="id" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <property name="personName" type="java.lang.String"> <column name="PERSON_NAME" length="20"/> </property> <one-to-one name="idCard" class="com.sh.entity.IdCard" cascade="all" outer-join="true"/> </class> </hibernate-mapping>
IdCard.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.sh.entity.Person" table="person" catalog="erp"> <id name="id" type="java.lang.Integer"> <column name="ID"/> <!-- 设置id_card 的主键是一个外键 --> <generator class="foreign"> <!-- 设置主键的参考列是下面 定义的person --> <param name="property">person</param> </generator> </id> <property name="cardNo" type="java.lang.String"> <column name="CARD_NO" length="25"/> </property> <!-- 限制id_card的主键与person的主键相同 ,在属性上通过 constrained=true (约束条件) --> <one-to-one name="person" class="com.sh.entity.Person" constrained="true"/> </class> </hibernate-mapping>
cascade 的描述
属性值 | 描述 |
all | 所以情况下都进行关联操作 |
none | 所有情况下不进行关联操作 |
save-update | 执行 save-upate 操作是关联 |
delete | 执行delete 关联操作时进行关联 |
唯一外键关联:many-to-one (unique="true")
释义:是指在两张表的主键值不同时,使用一个新添加的字段来作为外键,以维持 1 对1 关联
例如: 身份证(IDCard):id , cardno, personid(新添加的外键字段)
中国公民(Person):id , personname
IdCard.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 唯一外键关联 --> <hibernate-mapping> <class name="com.sh.entity.Person" table="person" catalog="erp"> <id name="id" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <!-- 使用 唯一外键 unique="true" 将 多对1 变成 1 对1 --> <many-to-one name="person" class="com.sh.entity.Person" unique="true" fetch="select"> <column name="PERSON_ID"/> </many-to-one> <property name="cardNo" type="java.lang.String"> <column name="CARD_NO" length="25"/> </property> <!-- 限制id_card的主键与person的主键相同 ,在属性上通过 constrained=true (约束条件) --> <one-to-one name="person" class="com.sh.entity.Person" constrained="true"/> </class> </hibernate-mapping>
Person.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 唯一外键关联 --> <hibernate-mapping> <class name="com.sh.entity.Person" table="person" catalog="erp"> <id name="id" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <property name="personName" type="java.lang.String"> <column name="PERSON_NAME" length="20"/> </property> <!--注意这里和 主键关联的区别--> <one-to-one name="IdCard" class="com.sh.entity.IdCard" property-ref="person"/> </class> </hibernate-mapping>
单向一对多关联
例如: 父亲 和 子女 的关系
班级 和 学生 的关系
班级:
classiesd classesName teacher createdate (set)students
学生
stuid stuName
Classes.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向一对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Classes" table="classes" catalog="erp"> <id name="classesid" type="java.lang.Integer"> <column name="CLASSES_ID"/> <generator class="native"/> </id> <property name="classesName" type="java.lang.String"> <column name="CLASSES_NAME" length="25"/> </property> <property name="teacher" type="java.lang.String"> <column name="TEACHER" length="25"/> </property> <property name="createDate" type="java.lang.String"> <column name="CREATE_DATE" length="25"/> </property> <!-- 设置一对多的关联 inverse="true" 表示 学生为主控方 添加的时候要先添加 学生 然后添加 班级--> <set name="students" inverse="true"> <key> <column name="CLASSES_ID"/> </key> <one-to-many class="com.sh.entity.Student"/> </set> </class> </hibernate-mapping>
Student.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向一对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Studnt" table="student" catalog="erp"> <id name="stuid" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <property name="stuName" type="java.lang.String"> <column name="STUNAME" length="25"/> </property> </class> </hibernate-mapping>
单向多对一关联
释义:和单向一对多相反, 所处的角度不一样
例如: 父亲 和 子女 的关系
班级 和 学生 的关系
班级:
classiesd classesName teacher createdate
学生
stuid stuName classes
Student.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向 多对一 关联 --> <hibernate-mapping> <class name="com.sh.entity.Studnt" table="student" catalog="erp"> <id name="stuid" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <!-- 设置单向 多对一关联 --> <many-to-one name="classes" class="com.sh.Classes" fetch="select"> <column name="CLASSES_ID"/> </many-to-one> <property name="stuName" type="java.lang.String"> <column name="STUNAME" length="25"/> </property> </class> </hibernate-mapping>
Classes.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向多对一关联 --> <hibernate-mapping> <class name="com.sh.entity.Classes" table="classes" catalog="erp"> <id name="classesid" type="java.lang.Integer"> <column name="CLASSES_ID"/> <generator class="native"/> </id> <property name="classesName" type="java.lang.String"> <column name="CLASSES_NAME" length="25"/> </property> <property name="teacher" type="java.lang.String"> <column name="TEACHER" length="25"/> </property> <property name="createDate" type="java.lang.String"> <column name="CREATE_DATE" length="25"/> </property> </class> </hibernate-mapping>
注意: 单向 多对一 和单向 一对多 关联 在添加的时候 是有顺序的 根据 关系配置的时候 谁是主空方 就的先添加 主控方
有一个 insert 和upate 语句
双向一对多关联
释义:由于 单向 会出现 添加的时候 有顺序 ,否则会有错误 就出现 双向了
班级:
classiesd classesName teacher createdate (set) students
学生
stuid stuName classes
Classes.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 双向向一对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Classes" table="classes" catalog="erp"> <id name="classesid" type="java.lang.Integer"> <column name="CLASSES_ID"/> <generator class="native"/> </id> <property name="classesName" type="java.lang.String"> <column name="CLASSES_NAME" length="25"/> </property> <property name="teacher" type="java.lang.String"> <column name="TEACHER" length="25"/> </property> <property name="createDate" type="java.lang.String"> <column name="CREATE_DATE" length="25"/> </property> <set name="students" inverse="true" cascade="all"> <key> <column name="CLASSES_ID"/> </key> <one-to-many class="com.sh.entity.Student"/> </set> </class> </hibernate-mapping>
Student.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 双向 多对一 关联 --> <hibernate-mapping> <class name="com.sh.entity.Studnt" table="student" catalog="erp"> <id name="stuid" type="java.lang.Integer"> <column name="ID"/> <generator class="native"/> </id> <!-- 设置单向 多对一关联 --> <many-to-one name="classes" class="com.sh.Classes" fetch="select"> <column name="CLASSES_ID"/> </many-to-one> <property name="stuName" type="java.lang.String"> <column name="STUNAME" length="25"/> </property> </class> </hibernate-mapping>
注意 :双向 表示 你中有我 ,我中有你, 一般采用 双向 关系 替代 单向关系
为了性能考虑 一般主空方 都设在多的那边 (就像一个老师记住那么多学生难,而 一个学生记住下老师 就简单了)
多对多关联
释义:第一个表中的一行可以与第二个表中的一行或多行相关,
第二个表中的一行 也可以于第一个表中的一行 或者 多行相关
为了建立多对多关联 需要建立一个中间表来表示 相互之间的关系.
在应用系统中,有很多领域都设计到多对多关联.比如 权限管理中的用户和角色 ,角色和 功能之间的关系 ,但是在使用中 多对多的管理性能不佳,建议在使用中 尽量避免 大量使用
单向多对多关联
释义:单向多对多关联 在实际应用中使用频率较低,一般不用
例如:
用户和地址的关系
一般只需要在 用户类中 添加 地址的集合关系
Employee.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Employee" table="employee" catalog="erp"> <id name="empId" type="java.lang.Integer"> <column name="EMP_ID"/> <generator class="native"/> </id> <property name="empName" type="java.lang.String"> <column name="EMP_NAME" length="25"/> </property> <set name="addresses"> <!-- KEY:和当前 类的关联字段 --> <key> <column name="EMP_ID" not-null="true"/> </key> <many-to-many class="com.sh.entity.Address"/> </set> </class> </hibernate-mapping>
Address.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 单向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Address" table="address" catalog="erp"> <id name="addId" type="java.lang.Integer"> <column name="ADD_ID"/> <generator class="native"/> </id> <property name="addName" type="java.lang.String"> <column name="ADD_NAME" length="25"/> </property> </class> </hibernate-mapping>
双向多对多关联
释义:双向多对多关联 需要在两端都使用集合属性
例如:
员工: empid empName
地址: addid addname
(中间表)用户地址: empid addid
Employee.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 双向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Employee" table="employee" catalog="erp"> <id name="empId" type="java.lang.Integer"> <column name="EMP_ID"/> <generator class="native"/> </id> <property name="empName" type="java.lang.String"> <column name="EMP_NAME" length="25"/> </property> <set name="addresses" table="emp_addess" cascade="save-update"> <!-- KEY:和当前 类的关联字段 --> <key> <column name="EMP_ID" not-null="true"/> </key> <many-to-many class="com.sh.entity.Address" column="ADD_ID"/> </set> </class> </hibernate-mapping>
Address.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 双向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Address" table="address" catalog="erp"> <id name="addId" type="java.lang.Integer"> <column name="ADD_ID"/> <generator class="native"/> </id> <property name="addName" type="java.lang.String"> <column name="ADD_NAME" length="25"/> </property> <!-- 双向的 两个 类 都需 通过 集合属性 --> <set name="emps" table="emp_address" cascade="save-update"> <key> <column name="ADD_ID"/> </key> <many-to-many class="com.sh.entity.Employee" column="EMP_ID"/> </set> </class> </hibernate-mapping>
分解双向多对多关联
释义:将双向多对多关联分成两个一对多关系关联
例如:
员工: empid empName
地址: addid addname
(中间表)用户地址: id empid addid (注意 添加了一个id)
Employee.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 分解双向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Employee" table="employee" catalog="erp"> <id name="empId" type="java.lang.Integer"> <column name="EMP_ID"/> <generator class="native"/> </id> <property name="empName" type="java.lang.String"> <column name="EMP_NAME" length="25"/> </property> <!-- 都是主控方 ---> <set name="addresses" table="emp_addess" inverse="true" cascade="save-update"> <!-- KEY:和当前 类的关联字段 --> <key> <column name="EMP_ID" not-null="true"/> </key> <!-- 注意 这里采用的是 一对多 --> <one-to-many class="com.sh.entity.Address"/> </set> </class> </hibernate-mapping>
Addres.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 分解双向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.Address" table="address" catalog="erp"> <id name="addId" type="java.lang.Integer"> <column name="ADD_ID"/> <generator class="native"/> </id> <property name="addName" type="java.lang.String"> <column name="ADD_NAME" length="25"/> </property> <!-- 双向的 两个 类 都需 通过 集合属性 都是主控方 --> <set name="emps" table="emp_address" inverse="true" cascade="all"> <key> <column name="ADD_ID"/> </key> <!-- 注意这里 采用的 一对多 的关系 --> <one-to-many class="com.sh.entity.Employee"/> </set> </class> </hibernate-mapping>
用户 地址关系表
EmpAddress.hbm.xml
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- 分解双向多对多关联 --> <hibernate-mapping> <class name="com.sh.entity.EmpAddress" table="emp_address" catalog="erp"> <id name="eaId" type="java.lang.Integer"> <column name="EA_ID"/> <generator class="native"/> </id> <many-to-one name="employee" class="com.sh.entity.Employee" fetch="select"> <column name="EMP_ID"/> </many-to-one> <many-to-one name="address" class="com.sh.entity.Address" fetch="select"> <column name="ADD_ID"/> </many-to-one> </class> </hibernate-mapping>
权限管理的设计
功能表 :functions_id, function_name ,iden_Name
角色表 :role_id, role_Name ,description
用户表 :userid, userName,Password,inactive,
角色-功能表 : role_functions_id, role_id,functions_id
角色-用户表: role_user_id ,role_id ,user_id
发表评论
-
Hibernate的属性映射配置
2014-01-08 23:20 2126package com.crazyit.app.domai ... -
Hibernate 的初始化
2014-01-08 22:43 3502public static void main(Strin ... -
Hibernate 的关系与配置
2014-01-05 21:57 27561.单向 N:1 例如:一个地方有多个人住. (在1 的一端 ... -
Spring配置Hibernate事务
2013-11-10 13:45 1175为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事 ... -
Hibernate 关系映射(一)基于外键关联的N:1
2013-05-14 23:45 9761.单向 N:1 无中间表 例如:一个地方有多个人住. ... -
Hibernate 关系映射(二)基于中间表的N:1
2013-05-13 21:11 7841.单向 N:1 有中间表 例如:一个地方有多个人住. ... -
Hibernate 关系映射(三) 基于外键关联的单向 1:1
2013-05-03 23:42 9271.单向 1:1 基于外键的 想象下 小康社会: 每家都有钱, ... -
Hibernate 关系映射(四) 基于中间表关联的单向1:1
2013-05-02 20:07 10831.单向 1:1 基于中间表 想象下 小康社会: 每家都有钱, ... -
Hibernate 关系映射(五) 基于主键关联的单向1:1
2013-03-26 00:23 9061.单向 1:1 基于主键关联 想象下 小康社会: 每家都有钱 ... -
Hibernate 关系映射(6) 基于中间表关联的单向1:N
2013-03-21 17:55 937基于中间表关联的单向1:N 单向 1 对 N 关联,注意 和 ... -
Hibernate 关系映射(7) 基于外键关联的单向1:N
2013-03-21 00:31 825基于中间表关联的单向1:N 单向 1 对 N 关联,注意 和 ... -
Hibernate 缓存
2012-11-12 00:46 32781数据缓存:(date caching) ... -
Hibernate 的HQL,QBC 查询语言
2012-11-11 17:25 187081.HQL:(Hibernate Query Language ... -
HIbernate 基础
2012-11-10 22:30 12171.标识符 表示符号生成器描述increment适用于代理主建 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20582注解配置:Struts2+Spring2.5+Hibernat ...
相关推荐
<hibernate-mapping> <class name="com.bjsxt.hibernate.User" table="t_user"> <!-- --> </hibernate-mapping> <hibernate-mapping> <class name="com.bjsxt.hibernate.Group" ...
Hibernate_关联关系映射配置详解,希望能帮助广大java爱好者
Hibernate_关联关系映射配置
hibernate关系映射配置示例代码 一对多.rar,多对一或双向一对多.rar,多对一.rar,多对多.rar
Hibernate_映射配置文件详解,个人觉的比较不错的关于hibernate讲解的ppt,对于xml配置,继承关系,多对多等关系映射讲的很详细!
Middlegen-Hibernate-r5 Hibernate关系映射XML生成工具,MYSQL数据库的生成配置文件已经做好。
Hibernate各种表关系映射配置详解,自己进行整理的,里面有一对多,多对多,多对一等各种关系的映射详解
Hibernate 多表映射关系配置 如,一对一 多对一 多对多等
针对hibernate关系映射进行了一个总结,包含xml配置形式和@注解配置形式,one-to-many,one-to-noe,many-to-one,many-to-many等单方向的配置和双方都配置的事例
NULL 博文链接:https://yangjb.iteye.com/blog/1186724
使用hibernate的注解配置可以很好的完成跟实体的映射。而且还可以通过注解配置,可以完成多对一,一对多等关系的配置,非常好。
这是本人参照Hibernate官方文档,将里面的关系映射(1-1、N-1、1-N、N-N)全部做了一遍,包括Junit单元测试,读者只需要修改hibernate.cfg.xml中的资源路径和数据库配置就可以正确运行此程序,祝学习愉快。
hibernate配置关系的笔记
hibernate配置文件 里面提供了连接数据库 数据库使用的方言 是否打印SQL语句 sql语句的格式 以及对象-关系映射文件的地址等
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,这个是xml配置的例子
Hibernate一对一数据关联 Hibernate下的多对多关系 Hibernate关系映射 Hibernate继承关系映射 Hibernate映射类型-主键生成器-核心API Hibernate3 插件Eclipse配置
hibernate的中关系映射分为一对一、一对多、多对一、多对多,其中有单双向之分。而一对一还有主键和外键区分。一共是九种。分别用xml配置文件和annotation实现。annotation的版本没有写测试程序,见谅。
实现Hibernate框架中一对一,一对多,多对多关系的单向和双向配置总结!
hibernate利用配置文件,实体关系数据库映射文件及数据库配置相关文件) 反向生成数据库所有配置文件, 及其所需的几个文件所有详细代码
Hibernate是ORM(Object/Relation Mapping,对象关系映射)机制的最典型技术代表。 好了,下面列出在MyEclipse8.5中配置最基本的Hibernate的过程: 1,工具栏File->new->Java Project->工程命名,我这里是...