首先是xml文件配置的多對一: java
<many-to-one name="brand" column="brand" class="com.tch.model.Brand" /> app
brand是實體類中的屬性,class對於類的全稱 column對於外鍵 fetch
xml文件配置的一對多: spa
<set name="productstock" inverse="true" cascade="all" lazy="true" batch-size="30"> component
<key column name="product" /> //外鍵 xml
<one-to-many class="com.tch.model.stock.ProductStock" /> io
</set> class
多對多隻須要將 one-to-many換成many-to-many便可 配置
單向一對一能夠經過component配置: model
<component name="wmsExtend" class="com.tch.model.Pro">
<property name="pfDateFlag" type="java.lang.String" column="pfDateFlag" />
</component>
註解配置一對多:
@OneToMany(cascade = javax.persistence.CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "mallStore") //mallStore是多的一方里面保存的一的一方的屬性。
@BatchSize(size=50)
註解配置多對一:
@ManyToOne(optional = false, fetch = FetchType.LAZY,cascade=....)
@JoinColumn(name = "foreign_key", nullable = false)
註解配置多對多:
@ManyToMany(mappedBy="",cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinTable(name="",joinColumns={@JoinColumn(name="")},inverseJoinColumns={@JoinColumn(name="")})