现在写这个博客,感觉没有很大的必要。毕竟,网上那么多的介绍关于hibernate的东西了。并且,公司转用mybatis框架的很多,可以说mybatis成为了主流。但是,还是写一下吧。
至于多对多关系的联系就不解释了。直接上代码:
实体类:Category
public class Category { private Integer id; private String name; private Set<Item> items=new HashSet<Item>();
}
public class Item { private Integer id; private String name;
}
他俩的配置文件:
<hibernate-mapping package="com.test.n2n.entity"> <class name="Category" table="category" catalog="test"> <id name="id" type="integer"> <column name="id" /> <generator class="native" /> </id> <property name="name" type="string"> <column name="name" /> </property> <!-- 1.table 是中间表 --> <set name="items" table="categorys_items" cascade="all-delete-orphan"> <!-- key的column是中间表与实体类的外键关联 --> <key column="c_id"></key> <!-- set中使用多对多的配置映射。Item是另一张表的。column是中间表的Item关联 --> <many-to-many class="Item" column="i_id"></many-to-many> </set> </class> </hibernate-mapping>
<hibernate-mapping> <class name="com.test.n2n.entity.Item" table="items" catalog="test"> <id name="id" type="integer"> <column name="id" /> <generator class="native" /> </id> <property name="name" type="string"> <column name="name" /> </property> <!-- 测试单项关联,然后,取消了双向关联关系 --> <!-- <set name="categorys" table="categorys_items" inverse="true"> <key column="i_id"></key> <many-to-many class="com.test.n2n.entity.Category" column="c_id"></many-to-many> </set> --> </class> </hibernate-mapping>