Hibernate的单向关联和双向关联
2013-01-17 10:31
567 查看
当使用单向关联时,由父类管理关联关系,子类无法管理;而这时,父亲知道自己的儿子,但是,儿子对象不知道父亲是谁。
单向关联时,只需指定<one-to-many> 。
当使用双向关联时,关联关系的管理可以通过inverse指定,这时,儿子能清楚的知道自己的父亲是谁。
双向关联时,还需要指定<many-to-one>。
例如:
单向关联时,只需指定<one-to-many> 。
当使用双向关联时,关联关系的管理可以通过inverse指定,这时,儿子能清楚的知道自己的父亲是谁。
双向关联时,还需要指定<many-to-one>。
例如:
public class DbView { @Expose private Long viewId; @Expose private String name; @Expose private Timestamp createTime; private Set wsIntefaces = new HashSet(0); //反向关联,子类也知道父类是谁 private Set dbViewColums = new HashSet(0); }
public class DbViewColum { @Expose private Long id; @Expose private DbView dbView; //正向关联,父类管理子类 @Expose private String columnName; @Expose private char columnType; }
<?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"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.gdsc.model.ws.DbView" table="db_view"> <id name="viewId" type="java.lang.Long"> <column name="view_id" /> <generator class="native" /> </id> <property name="name" type="java.lang.String"> <column name="view_name" /> </property> <property name="createTime" type="java.sql.Timestamp"> <column name="createTime" length="23" /> </property> <set name="wsIntefaces" inverse="true"> <key> <column name="view_id" /> </key> <one-to-many class="com.gdsc.model.ws.WsInteface" /> </set> <set name="dbViewColums" inverse="true"> <key> <column name="view_id" /> </key> <one-to-many class="com.gdsc.model.ws.DbViewColum" /> </set> </class> </hibernate-mapping>
<?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"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="com.gdsc.model.ws.DbViewColum" table="db_view_colum"> <id name="id" type="java.lang.Long"> <column name="id" /> <generator class="native" /> </id> <many-to-one name="dbView" class="com.gdsc.model.ws.DbView" fetch="select"> <column name="view_id" /> </many-to-one> <property name="columnName" type="java.lang.String"> <column name="column_name" /> </property> <property name="columnType" type="java.lang.Character"> <column name="column_type" /> </property> </class> </hibernate-mapping>
相关文章推荐
- Hibernate一对多单向关联和双向关联映射方法及其优缺点
- hibernate之关于一对一单向,双向关联映射
- 关于hibernate的多对一单向关联,一对多单向关联,和一对多双向关联的疑惑解答
- Hibernate多对多单向关联和双向关联映射的方法
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- 【hibernate】之关于一对一单向,双向关联映射
- ORM框架Hibernate (四) 一对一单向、双向关联映射
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- Hibernate中用注解配置一对多双向关联和多对一单向关联
- Hibernate一对多单向关联和双向关联映射方法及其优缺点
- hibernate之关于一对一单向,双向关联映射
- Hibernate关系映射 一对一双向外键关联@OneToOne Annotation方式 双向关联和单向关联的区别
- ORM框架Hibernate (四) 一对一单向、双向关联映射
- Hibernate一对多双向关联,多对多单向关联
- hibernate之关于一对一单向,双向关联映射
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- Java的Hibernate框架中一对多的单向和双向关联映射
- Hibernate一对多单向关联和双向关联映射方法及其优缺点 (待续)
- Hibernate关系映射级别注解(一对多单向外键关联、一对多(多对一)双向外键关联)
- 关于hibernate的多对一单向关联,一对多单向关联,和一对多双向关联的疑惑解答