2017-02-14 13 views
1

ここまでのところで、次のロジックをhibernateの関係に構築しようとしています。Hibernateによって生成されたユニークなフィールドを扱うにはどうすればいいですか?

リソースには多数の読み取りグループがあります。

リソースには多くの書き込みグループがあります。

どちらのグループもグループクラスです。

私が今までやった

:予想通り

ResourcePage.class

public class ResourcePage { 
    /* 
    useless code 
    */ 
    private Set read; 
    private Set write; 
    @OneToMany(cascade = CascadeType.ALL, 
    fetch = FetchType.EAGER, 
    targetEntity = Groups.class) 
    @JoinTable(name = "resourcepage_read_permissions") 
    public Set getRead() { 
    return read; 
    } 

    @OneToMany(cascade = CascadeType.ALL, 
    fetch = FetchType.EAGER, 
    targetEntity = Groups.class) 
    @JoinTable(name = "resourcepage_write_permissions") 
    public Set getWrite() { 
    return write; 
    } 
    /* 
    useless code 
    */  
} 

のテーブルが作成されます。

enter image description here

しかし、HibernateはグループのIDにユニーク制約を生成していると、時々二つの異なるリソースが読み込ま基と同じ基であることができるので、これは私に大きな問題を与えています。あなたたちはそれに対処するにはどうすればよい

enter image description here

? どうすれば休止状態はこの一意の制約を生成できませんか?

ありがとうございます。

+0

皆、これは間違いでしたが、代わりに '@ manytomany'という関係を使って' @ onetomany'が問題を解決するかもしれません。 –

答えて

0

@OneToManyの代わりに@ManyToManyを使用する必要があります。

+0

私はすでにそれに気付いていますが、問題を早期に特定しています。どうもありがとう。 –

関連する問題