两张表都没有主键,而且是多对多关系,他们之间的映射关系是怎么样的呢?各位大牛能不能做个案例出来啊!!感激涕淋

解决方案 »

  1.   

    是有链接表的多对多映射。lz的意思是要写java实体类,通过多对多的映射关系生成这样的三张表吗?
      

  2.   

    你这个是Hibernate多对多关系映射,为何还要产生第三个关系表的隐射呢?
    正常情况下,第三个表的映射文件以及实体类都不需要隐射生成,即:只有前面两个表的隐射文件以及class;
    你只要在COURSE表以及Student表中配置多对多的关系即可!
    关于怎么配置多对多的,COURSE以及Student表都可以使用Set来配置;
    有关具体配置的可以参考我以前的一篇文章:
    http://blog.csdn.net/vtopqx/article/details/8223251
      

  3.   

    一般多对多关系的时候,会生成一个中间表来维护它们之间的关系,例如tA、tB表,关系表为tA_B
    对应的实体类是A B,关系表没有对应的实体类。
    在A中的getB方法上进行配置:
        @ManyToMany(cascade = CascadeType.REFRESH)
        @JoinTable(name = "tA_B", inverseJoinColumns = @JoinColumn(name = "B_ID"),
        joinColumns = @JoinColumn(name = "A_ID"))
        public Set<B> getB() {
            return bs;
        }上述的是A B表有主键的情况,如果没有,可以参照下面的这篇文章(没有测试过)
    http://www.blogjava.net/alwayscy/archive/2008/10/27/236920.html