请教一下,在JPA中的一对多单向关联必须要有中间表才能映射吗?比如Order和Book之间存在一对多的关联关系。Order类中存在一个集合映射导航到Book,但是Book类中没有这个反向关联。我希望数据库的结构大概是这样 Book                           Order
bookid(PK)                    orderid(PK)
 name                           name
orderid(FK,指向Order中PK)而不是去生成一张中间表分别指向各自主键,毕竟对于数据库设计而言,上面这种方式是比较标准的一对多方式。而中间表的方式更像是处理多对多。这个样子JPA有办法映射吗?因为我看的资料都说JPA单向一对多关联必须要中间表。谢谢了

解决方案 »

  1.   

    不是把,我用Hibernate做一对多映射时,可以不要中间表呀,一定是你没配好,用annotation比较简单,注意配上mappedBy~~,一定可以的呀( ⊙ o ⊙ )!
      

  2.   

    问题就在这里了,如果是一对多单向关联,mappedBy怎么配?比如说Order{
      @Id
      Long id;
      String name;
      @OneToMany(mappedBy="?")//怎么mappedBy?Book类里面根本没这个属性
      List<Book> book;
    }Book{
      @Id
      Long id;
      String name;
    }
      

  3.   

    晕啊。第一个表结构排版明明是对的,出来就是乱的。重新贴下
    Book表:
       Book 
     bookid(PK) 
     name name
    orderid(FK,指向Order中PK)Order表:
      Order
     orderid(PK)