`
jsczxy2
  • 浏览: 1258479 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

[转]Hibernate中property-ref的使用,常用来解决遗留数据库One To Many关系

阅读更多

1.如表Class(ClassID,Class_No,ClassName)与Student(StudentID,studentName,Class_No), 
其中ClassID,studentID为主键 
两个表是一对多的关系,而要求两个通过ClassNo来关联(注意到这个classNo并不是主键classID).  
而一般的情况下是通过ClassID,放在student表中作为外键. 
2.具体的Hibernate的配置文件如下: 
Class.hbm.xml: 
  <property 
        name="classNo" 
        type="java.lang.String" 
        column="Class_No" 
        length="30" 
    /> 
    <!-- Associations --> 
      <set name="students" 
    lazy="false" 
    inverse="true" 
         cascade="all-delete-orphan" 
        > 

    <key column="Class_No"    property-ref="classNo"/> 
    
    <one-to-many 
            class="Student" 
        /> 
    </set> 


Student.hbm.xml: 

   <many-to-one 
        name="class" 
        class="Class" 
  not-null="true" 
  property-ref="classNo" 
    > 
        <column name="Class_No"      /> 
    </many-to-one> 

3.注意点: 
property-ref属性一般用来解决遗留数据库One To Many关系的问题 
property-ref(可选)被关联到此外键的类中的对应属性的名字,若没指定,使用被关联类的主键. 
property-ref=是不是数据库表中的字段名,而是定义的java类中的属性性名,一定要注意.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics