Hibernate では、xml を使用して多対多をマッピングする場合、次のように多対多を使用します。
<class name="com.lavin.test.app.dao.hibernate.association.many2many.model.Category2" table="category2" catalog="tt">
<set name="stocks" table="stock_category" inverse="true" lazy="true" fetch="select">
<key>
<column name="CATEGORY_ID" not-null="true" />
</key>
<many-to-many entity-name="com.lavin.test.app.dao.hibernate.association.many2many.model.Stock2">
<column name="STOCK_ID" not-null="true" />
</many-to-many>
</set>
</class>
ただし、注釈を使用する場合は、次のように @ManyToOne を使用しています。
@Embeddable
public class StockCategoryId3 implements java.io.Serializable {
private Stock3 stock;
private Category3 category;
@ManyToOne
public Stock3 getStock() {
return stock;
}
public void setStock(Stock3 stock) {
this.stock = stock;
}
@ManyToOne
public Category3 getCategory() {
return category;
}
public void setCategory(Category3 category) {
this.category = category;
}
}
多対多の関係をマッピングするとき、xml と注釈の使用は同じであってはなりませんか? なぜこの2つは違うのですか?