Hibernate框架多對多時中間表沒有主鍵ID解決辦法

Hibernate框架多對多時中間表沒有主鍵ID時可以使用組合id,就是哪兩列或者多列組合成爲一個唯一標識一條記錄的id值,在實體類映射文件中配置文件,例如學生表,成績表,課程表三者之間的關係,其中學號與課程號可以組合成爲成績表的id值

<hibernate-mapping >
	<class name="cn.entity.Chengji" table="chengjibiao">
	
		 <composite-id>
             <key-many-to-one name="kecheng" column="kechenghao" class="cn.entity.Kecheng"></key-many-to-one>
             <key-many-to-one name="xuesheng" column="xuehao" class="cn.entity.Xuesheng"></key-many-to-one>         
        </composite-id>
		 <property name="chengji" column="chengji" type="int" lazy="false"></property>
	</class>
</hibernate-mapping>

但是單單這樣還不夠,如果要查詢成績還需要在成績的實體類實現一個Serializable接口並添加一個屬性:serialVersionUID代碼如下:get()set()方法省略

public class Chengji implements Serializable {
	private static final long serialVersionUID = 1L;
	private Xuesheng xuesheng;
	private Kecheng kecheng;
	private int chengji;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章