0

ManyToManyのようなマッピングがあります。

@XmlTransient
    @ManyToMany(cascade = {CascadeType.ALL})
    @JoinTable(name = "users_clients",
            joinColumns = {@JoinColumn(name = "user_id")},
            inverseJoinColumns = @JoinColumn(name = "client_id"))
    public List<Client> getClients() {
        return clients;
    }

そして反対側:

@ManyToMany(mappedBy = "clients")
    private List<User> users = new ArrayList<User>();

ご覧のとおり、私は持ってJoinColumn name = user_idいますclient_idが、hibernate はこの列をテーブル名として userS_id と clientS_id という名前でマップします。なぜそれが起こるのですか?助言がありますか?

4

1 に答える 1

0

@JoinColumn注釈で列名を指定してみてください。また、inverseJoinColumns の周りに中括弧がありませんでした

    @JoinTable(name = "users_clients",
      joinColumns = {
        @JoinColumn(name = "user_id", referencedColumnName="user_id")},
          inverseJoinColumns = {
        @JoinColumn(name = "client_id", referencedColumnName="client_id")})
于 2012-11-22T11:35:49.203 に答える