hibernate 表关联 多对一 一对多 多对多 注解 xml

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


你可能感兴趣的:(hibernate 表关联 多对一 一对多 多对多 注解 xml)