hibernate 表關聯 多對一 一對多 多對多 註解 xml

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

  2.   

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

  4. brand是實體類中的屬性,class對於類的全稱  column對於外鍵  fetch

  5.     

  6. xml文件配置的一對多:             spa

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

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

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

  10. </set>  class

  11.   

  12. 多對多隻須要將 one-to-many換成many-to-many便可  配置

  13.   

  14. 單向一對一能夠經過component配置:  model

  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="")}) 

相關文章
相關標籤/搜索