欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java,

来源: javaer 分享于  点击 18153 次 点评:283

java,


 

<mapping resource="包名+*.hbm.xml"/>

  

public class District implement java.io.Serizlizable{

   private Integer id;
   private String name;

   get和set()方法....
      }
 hibernate 关联映射(1)

关联关系主要有两种:

(1) 关联关系:是通过一个对象持有另一个对象的实例来实现的

(2)泛化关系:通过对象之间的继承方法来实现的

public class Street implements java.io.Serializable{ 

   private Integer id;
   private District district;
   private String name;

  get和set()方法
}

 

实体之间的关系:关联是指不同表之间的数据彼此联系的方法,数据库的表于表之间的关联关系,以外键的形式来体现.

类与类之间最普遍的关系就是关联关系,

多对一关系映射
<hibernat-mapping>

    <class name="包+类名"  table="district" >


  <id name="id" type="java.lang.Integer">
  <column name="id"/>

<generator class="sequence">
   <param name="sequence" >序列名</param>
</generator>
</id>

<property name="name" type="java.lang.String">
<column name="name" length=50 not-null=true/>
</property>

</hibernate-mapping>
-------------------------------------------------------------------------
<hibernate-mapping>
   <class name="包名+类名" table="street">
   <id name="id" type="java.lang.Integer">
   <column name="id"/>
   <generator class="sequence">
     <param name="sequence">序列名</param>
</generator>
</id>
   <mang-to-one name="district" class="包+类名 column=district_id not null="true" />
 <property name="name" type="java.lang.String">

<column name="name" length=50 not-null=true/>
</class>
</hibrenate-mapping>

 

 在配置文件中填上

序列 属性 含义 必须 默认值
1 name 属性名称 Y  
2 class 包+类名 N  
3 column 表中的外键 N  
4 not-null 设置关联的字段是否可以为空 N false
5 lazy 指定关联对象是否使用延迟加载以及延迟加载的策略 N proxy
6 fetch 设置专区数据的策略 N select
public class Street implements java.io.Serializable{

  private Integer id;
  private Integer district_id;
  private String name;
  get和set()方法


}
public class District implements java.io.Serializable{
 
private Integer id;
private String name;
private Set streets=new HashSet();

get和set()方法


}

 

District.hbm.xml

<hibernate-mapping>
<class name="包名+类名" table="Street">

   <id name="id" type="java.lang.Integer">
    <column name="id"/>
   <generator class="sequence">
   <param name="sequence">序列名</param>
   </generator>
   </id>
    <property name="name" type="java.lang.String">
    <column name="name" length="50" not-null="true"/>
</property>
<set name="streets" table="street">
<key column="外键"/>
<one-to-many class="包名+类名(com.Street)"></one-to-many>
</set>

</class>


</hibernate-mapping>

 

序列 属性 含义 必须 默认值
1 name 属性名称(set集合名称) Y  
2 table 关联类的目标数据库表 Y  
3 lazy 指定关联对象是否使用延迟加载以及延迟加载的策略 N proxy
4 fetch 设置专区数据的策略 N select
5        

需要注意的是:从表中的外键要设置成允许为空

相关文章

    暂无相关文章
相关栏目:

用户点评