1

本と著者の間に多対多のマッピングがあります

@Enity
public class Book{

    private Long id;
    private String name;
    ...

    @Id
    @Column(name="book_id")
    public getId(){
    ...
    }
    @ManyToMany(
    @JoinTable(name="book_author",
        joinColumns = @JoinColumn(name="book_id"),
        inverseJoinColumns = @JoinColumn(name="????")
    )
    public List<Author> getAuthors(){
    ...
    }
}

@Enity
public class Author{
    @EmbeddedId;
    private AuthorPk authorPk;
    ...

}

複合キーであるため、inverseJoinColumn で多対多のマッピングを行うにはどうすればよいですか?

4

1 に答える 1

6
inverseJoinColumns = {@JoinColumn(name = "theFirstColumnInTheJoinTable", 
                                  referencedColumnName = "theFirstColumnInTheTargetTable"),
                      @JoinColumn(name = "theSecondColumnInTheJoinTable", 
                                  referencedColumnName = "theSecondColumnInTheTargetTable")}

しかし、私は間違いなく複合 PK を避けます。複合 PK は作業をより複雑にし、パフォーマンスを低下させます。

于 2012-09-05T09:04:04.220 に答える