小弟前几天无意发现当我在使用Hibernate一对多双向关联的时候,它会在数据库的相关联的两张表里面建立外键.
这和我刚接触的Hibernate时不一样.
HIbernate提倡由它来维护表与表之间的关系,表与表之间不建立外键,因为外键会很影响性能.可我前几天发现通过Hibernate里的Hbm2ddl,反向建表的时候,它给我创建了外键.这并不是我想要的结果.
我的代码如下:
一的一端:<set name="stu" inverse="true" cascade="save-update">
<key column="classid" />
<one-to-many class="wang.pojo.Student" />
</set>多的一端:<many-to-one name="cla" column="classid" cascade="all"/>
能不能让Hibernate反向生气的时候不创建外键呢?请高手们帮帮小弟吧

解决方案 »

  1.   

    hibernate一对多关联是需要在多的一端建立外键指向一的一端的吧
      

  2.   

    是的,但是这个关系可以让Hibernate来维护,数据库中的表不用建立外键.因为数据库中的外键会影响性能Hibernate可以实现吗?听说是可以的,这也是Hibernate所推荐的.
      

  3.   

    大家没有遇到这个问题吗?
    怎么配置才不让Hibernate在数据库里面生成外键,莫非这又是Hibernate的一个BUG吗?请高手们给出解决方案吧..