Hibernate中一对多关联的时候hbm.xml文件的配置

Hibernate中一对多关联的时候hbm.xml文件的配置<?xml version='1.0' encoding='UTF-8'?>

假设有一个文档管理者类User,和一个文档类Archives。其中User和Archives是一对多双向关联关系

表现在类中如下(此处省略了属性的set和get方法)

User类定义如下:

public class User implements Serializable {
/** 定义id */
private Long id;
/** 定义用户名*/
private String username;
/** 定义密码*/
private String password;
//定义该用户要管理的档案
private List<Archives> archives;
}

Archives类定义如下:

public class Archives implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
// 文档名字
private String name;
// 定义文档管理者
private User manager;
}

以上两个类分别映射到数据库中的User表和ARCHIVBES表

User.hbm.xml文件的配置:

        <!--archives是user类里文档的名字,它的类型是list,他所对应的数据库中的表的
        名字是ARCHIVES.-->
       <list name = "archives"  table = "ARCHIVES" cascade = "save-update"  lazy="true">
       <!-- 用户表所关联的表的外键,此处为ARCHIVES表的USER_ID -->
       <key column = "USER_ID"></key>
       <!-- ARCHIVES_ID是ARCHIVES表中的主键 -->
        <index column = "ARCHIVES_ID"></index>
       <!-- 表示user和archives是一对多关系 -->
       <one-to-many class = "com.archivesManagement.domain.Archives"></one-to-many>
       </list> 

 Archives.xml文件的配置:
 <!-- USER_ID为ARCHIVES的外键 -->
    <many-to-one name="manager"          
      column = "USER_ID"
      class = "com.archivesManagement.domain.User"
      not-null = "true">
    </many-to-one>
%0A%0A%u5047%u8BBE%u6709%u4E00%u4E2A%u6587%u6863%u7BA1%u7406%u8005%u7C7BUser%2C%u548C%u4E00%u4E2A%u6587%u6863%u7C7BArchives%u3002%u5176%u4E2DUser%u548CArchives%u662F%u4E00%u5BF9%u591A%u53CC%u5411%u5173%u8054%u5173%u7CFB%0A%0A%u8868%u73B0%u5728%u7C7B%u4E2D%u5982%u4E0B%28%u6B64%u5904%u7701%u7565%u4E86%u5C5E%u6027%u7684set%u548Cget%u65B9%u6CD5%uFF09%0A%0AUser%u7C7B%u5B9A%u4E49%u5982%u4E0B%uFF1A%0A%20%20%20%0A%20%20%20%20public%20class%20User%20implements%20Serializable%20%7B%0A%09/**%20%u5B9A%u4E49id%20*/%0A%20%20%20%20private%20Long%20id%3B%0A%20%20%20%20/**%20%u5B9A%u4E49%u7528%u6237%u540D*/%0A%20%20%20%20private%20String%20username%3B%0A%20%20%20%20/**%20%u5B9A%u4E49%u5BC6%u7801*/%0A%20%20%20%20private%20String%20password%3B%0A%09//%u5B9A%u4E49%u8BE5%u7528%u6237%u8981%u7BA1%u7406%u7684%u6863%u6848%0A%20%20%20%20private%20List%3CArchives%3E%20archives%3B%0A%20%20%20%20%7D%0A---------------------------------------------------------------------------------------%0AArchives%u7C7B%u5B9A%u4E49%u5982%u4E0B%uFF1A%0A%20%20%20%20%0A%20%20%20%20public%20class%20Archives%20implements%20Serializable%20%7B%0A%09private%20static%20final%20long%20serialVersionUID%20%3D%201L%3B%0A%09private%20Long%20id%3B%0A%09//%20%u6587%u6863%u540D%u5B57%0A%09private%20String%20name%3B%0A%09//%20%u5B9A%u4E49%u6587%u6863%u7BA1%u7406%u8005%0A%09private%20User%20manager%3B%0A%09%7D%0A%09%0A---------------------------------------------------------------------------------------%0A%0A%20%20%20%20%u4EE5%u4E0A%u4E24%u4E2A%u7C7B%u5206%u522B%u6620%u5C04%u5230%u6570%u636E%u5E93%u4E2D%u7684User%u8868%u548CARCHIVBES%u8868%0A%20%20%20%20%0A---------------------------------------------------------------------------------------%0A%20%20%20%20%0A%20%20%20%20User.hbm.xml%u6587%u4EF6%u7684%u914D%u7F6E%uFF1A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%21--archives%u662Fuser%u7C7B%u91CC%u6587%u6863%u7684%u540D%u5B57%uFF0C%u5B83%u7684%u7C7B%u578B%u662Flist%uFF0C%u4ED6%u6240%u5BF9%u5E94%u7684%u6570%u636E%u5E93%u4E2D%u7684%u8868%u7684%0A%20%20%20%20%20%20%20%20%20%20%20%20%u540D%u5B57%u662FARCHIVES.--%3E%0A%20%20%20%20%20%20%20%20%20%20%20%3Clist%20name%20%3D%20%22archives%22%20%20table%20%3D%20%22ARCHIVES%22%20cascade%20%3D%20%22save-update%22%20%20lazy%3D%22true%22%3E%0A%09%09%20%20%20%3C%21--%20%u7528%u6237%u8868%u6240%u5173%u8054%u7684%u8868%u7684%u5916%u952E%uFF0C%u6B64%u5904%u4E3AARCHIVES%u8868%u7684USER_ID%20--%3E%0A%09%09%20%20%20%3Ckey%20column%20%3D%20%22USER_ID%22%3E%3C/key%3E%0A%09%09%20%20%20%3C%21--%20ARCHIVES_ID%u662FARCHIVES%u8868%u4E2D%u7684%u4E3B%u952E%20--%3E%0A%09%09%20%20%20%20%3Cindex%20column%20%3D%20%22ARCHIVES_ID%22%3E%3C/index%3E%0A%09%09%20%20%20%3C%21--%20%u8868%u793Auser%u548Carchives%u662F%u4E00%u5BF9%u591A%u5173%u7CFB%20--%3E%0A%09%09%20%20%20%3Cone-to-many%20class%20%3D%20%22com.archivesManagement.domain.Archives%22%3E%3C/one-to-many%3E%0A%09%09%20%20%20%3C/list%3E%20%0A%09%09%20%20%20%0A---------------------------------------------------------------------------------------%0A%0A%20%20%20%20%20%20%0A%20%20%20%20%20Archives.xml%u6587%u4EF6%u7684%u914D%u7F6E%uFF1A%0A%20%20%20%20%20%3C%21--%20USER_ID%u4E3AARCHIVES%u7684%u5916%u952E%20--%3E%0A%09%09%3Cmany-to-one%20name%3D%22manager%22%09%09%20%20%0A%09%09%20%20column%20%3D%20%22USER_ID%22%0A%09%09%20%20class%20%3D%20%22com.archivesManagement.domain.User%22%0A%09%09%20%20not-null%20%3D%20%22true%22%3E%0A%09%20%20%20%20%3C/many-to-one%3E%0A%09%09





转载于:https://www.cnblogs.com/ZhangJinkun/p/9d2c336e7903cafaddbf079f3dec6185.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值