hibernate关联映射处理的设计问题
1:关联方向 Directionality
2:阶数 Multiplicity
3:集合 Collection
A:一对一主键单向关联(Person/IdCard)配置文件
<hibernate-mapping package="com.xyh.hibernate">
<class name="Person" table="cyy_person">
<id name="id">
<generator class="foreign">
<param name="property">card</param>
</generator>
</id>
<property name="username"></property>
<!--
one-to-one 指示hibernate怎么加载它的关联对象,默认的是根据主键关联加载
constrained="true"表明当前主键存在一个约束,person的主键作为外键参照了idCard的主键
默认了Casade=“True”属性
-->
<one-to-one name="card" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.xyh.hibernate">
<class name="IdCard" table="cyy_idcard">
<id name="id">
<generator class="native"/>
</id>
<property name="cardNo"></property>
</class>
</hibernate-mapping>
B:一对一主键双向关联(Person/IdCard)配置文件
<hibernate-mapping package="com.xyh.hibernate">
<class name="Person" table="cyy_person">
<id name="id">
<generator class="foreign">
<param name="property">card</param>
</generator>
</id>
<property name="username"></property>
<!--
one-to-one 指示hibernate怎么加载它的关联对象,默认的是根据主键关联加载
constrained="true"表明当前主键存在一个约束,person的主键作为外键参照了idCard的主键
默认了Casade=“True”属性
-->
<one-to-one name="card" constrained="true"></one-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.xyh.hibernate">
<class name="IdCard" table="cyy_idcard">
<id name="id">
<generator class="native"/>
</id>
<property name="cardNo"></property>
<one-to-one name="person"></one-to-one>
</class>
</hibernate-mapping>
C:一对一外键单向关联(Person/IdCard)配置文件
<hibernate-mapping package="com.xyh.hibernate">
<class name="Person" table="cyy_person">
<id name="id">
<generator class="native"></generator>
</id>
<property name="username"></property>
<many-to-one name="card" unique="true" ></many-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.xyh.hibernate">
<class name="IdCard" table="cyy_idcard">
<id name="id">
<generator class="native"></generator>
</id>
<property name="cardNo"></property>
</class>
</hibernate-mapping>
D:一对一外键双向关联(Person/IdCard)配置文件
<hibernate-mapping package="com.xyh.hibernate">
<class name="Person" table="cyy_person">
<id name="id">
<generator class="native"></generator>
</id>
<property name="username"></property>
<!--unique="true"指定唯一参考属性-->
<many-to-one name="card" unique="true"></many-to-one>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.xyh.hibernate">
<class name="IdCard" table="cyy_idcard">
<id name="id">
<generator class="native"></generator>
</id>
<property name="cardNo"></property>
<!--property-ref 指定外键参考属性-->
<one-to-one name="person" property-ref="card"></one-to-one>
</class>
</hibernate-mapping>
E:多对一关联(Company/Employee)配置文件
<hibernate-mapping package="com.xyh.hibernate">
<class name="Company" table="cyy_company">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.xyh.hibernate">
<class name="Employee" table="cyy_employee">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<many-to-one name="company" column="companyId"></many-to-one>
</class>
</hibernate-mapping>
只要处理好对象之间的关系就OK了.
分享到:
相关推荐
Hibernate关联关系映射 单向关联 │ ├─ 一对一外键单向关联 │ ├─ 一对一主键单向关联 │ ├─ 一对一连接表单向关联 │ ├─ 一对多外键单向关联 │ ├─ 一对多连接表单向关联 │ ├─ 多对一外键单向关联 │ ...
Hibernate 关联关系映射分类
Hibernate关联关系练习【全】
Hibernate关联关系.docHibernate关联关系.doc
Hibernate关联关系总结 一对多 多对一 多对多
大致总结了一下Hibernate关联关系。提供相关的一些例子进行测试。
hibernate关联关系简单项目,也可以只运行Java文件不用JSP页面,运用MySQL
讲诉了关联的创建和使用 整理成了一份txt的文档 整个创建到使用的步骤都写在里面了
Hibernate关联关系映射.CHM Hibernate文档相关
Hibernate关联关系映射实例速查,帮助初学者学习。
hibernate关联关系多对一实例
详细讲解hibernate的关联关系,以及用实例讲解,非常详细
Hibernate关联关系配置,一对一,一对多,多对多,联合主键等的配置
这是个人写的hibernate关联关系的示例,备忘用,不建议下载
hibernate里关联关系映射,各种关系解析,帮助大家搞清楚hibernate的关系映射
Hibernate关联关系hbm.xml中的相关属性many-to-one/one-to-many/many-to-many 中所有属性值以及其用法。
映射一对多关联关系 以Customer和Order为例: 一对多: 每个Customer可以有一个或者多个Order,因此Customer中应该有一个集合类型的属性,来引用所有关联的Order对象。 多对一。全实例讲解
Hibernate关联关系(一对多)代码的具体实现,包括保存班级;保存学生;保存班级的时候同时保存学生;已经存在一个班级,新建一个学生,并且建立该学生和该班级之间的关系等一对多关系的情况。不足之处还望谅解
hibernate ORM的实例,包括一对一,一对多,多对一,多对多的各种实例。 还有一些HQL语句的写法