hibernate 表关联 多对一 一对多 多对多 注解 xml
hibernate 表关联 多对一 一对多 多对多 注解 xml
小和尚敲代码 发表于2年前
hibernate 表关联 多对一 一对多 多对多 注解 xml
  • 发表于 2年前
  • 阅读 11
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

  1. 首先是xml文件配置的多对一:  

  2.   

  3. <many-to-one name="brand" column="brand" class="com.tch.model.Brand" />  

  4. brand是实体类中的属性,class对于类的全称  column对于外键  

  5.     

  6. xml文件配置的一对多:             

  7. <set name="productstock" inverse="true" cascade="all" lazy="true" batch-size="30">  

  8.             <key column name="product" /> //外键          

  9.             <one-to-many class="com.tch.model.stock.ProductStock" />  

  10. </set>  

  11.   

  12. 多对多只需要将 one-to-many换成many-to-many即可  

  13.   

  14. 单向一对一可以通过component配置:  

  15. <component name="wmsExtend" class="com.tch.model.Pro">  

  16.             <property name="pfDateFlag" type="java.lang.String" column="pfDateFlag" />  

  17. </component>  

  18.   

  19.   

  20. 注解配置一对多:  

  21.   

  22. @OneToMany(cascade = javax.persistence.CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "mallStore")   //mallStore是多的一方里面保存的一的一方的属性。  

  23. @BatchSize(size=50)   

  24.   

  25.   

  26. 注解配置多对一:  

  27.   

  28. @ManyToOne(optional = falsefetch = FetchType.LAZY,cascade=....)  

  29. @JoinColumn(name = "foreign_key"nullable = false)  

  30.   

  31. 注解配置多对多:  

  32. @ManyToMany(mappedBy="",cascade=CascadeType.ALL,fetch=FetchType.LAZY)  

  33. @JoinTable(name="",joinColumns={@JoinColumn(name="")},inverseJoinColumns={@JoinColumn(name="")}) 


共有 人打赏支持
粉丝 23
博文 85
码字总数 28687
×
小和尚敲代码
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: