日期:2014-05-17  浏览次数:20665 次

请教一下,关于hibernate多对多很少用..
刚接触,听说hibernate多对多很少用

举个例子,电影和电影院和项目的关系
我原本设计的是

电影 里有 电影院
电影院 里有 电影和场次
场次 里有 电影和电影院

因为我觉得这样查找起来比较方便些。。不过感觉又不太好

请各大高手给我点意见或者方案吧
指点指点,感激不尽~~~

------解决方案--------------------
这个场次里面为什么要有电影和电影院呢?
这个没必要吧
------解决方案--------------------
hibernate中的多对多并没有你想象的那么麻烦,事实上可以说很简单。而且诸如此类设计方案的问题应该首先考虑的是业务逻辑。如电影院和电影。一个电影院里面肯定有很多电影,而电影也可以在很多电影院内,这样当然需要建立多对多的关联关系,以下给出关联关系的配置文件:
//电影院配置文件
<set name="movies" table="CINEMAMOVIES" cascade="save-update" >
<key column="CINEMAID"></key>
<many-to-many class="Movie" column="MOVIEID"></many-to-many>
</set>
//电影配置文件
<set name="cinemas" table="CINEMAMOVIES" cascade="save-update" >
<key column="MOVIEID"></key>
<many-to-many class="Cinema" column="CINEMAID"></many-to-many>
</set>
建一个中间表CINEMAMOVIES中有字段MOVIEID和CINEMAID分别通过外键关联MOVIES表中的ID和CINEMAS中得ID.这样就完成了。