1

ユーザーと特権クラスがあります。ユーザーは多くの特権を持つことができます。ここまでは順調ですね。

これらのユーザークラスとの関係に似たものがあります。しかし、これらすべてのものでユーザーを混乱させたくありません。

そこで、ユーザーと特権の関係を明示するのは良い考えだと思いました。ユーザーとの 1 対 1 の関係と特権との 1 対多の関係を持つクラス UserPrivilges を取得したいと思います。

可能であれば、フィードバックをいただければ幸いです。

あたりのTHX

4

1 に答える 1

1

私の理解が正しければ、複数の OneToMany アソシエーションを別のクラスにグループ化し、このクラスのインスタンスを User 内に配置するだけで済みます。ただし、意味的には、これらの関連付けは、ユーザーと他のエンティティ間の関連付けです。

その場合は、データベース スキーマをそのままにして、 User 内に埋め込まれたオブジェクトを使用して関連付けをグループ化する必要があります。

@Embeddable
public class UserPrivileges
    @OneToMany
    private Set<Privilege> somePrivileges;

    @OneToMany
    private Set<Privilege> someOtherPrivileges;

    @OneToMany
    private Set<Privilege> yetOtherPrivileges;
}

@Entity
public class User {

    @Embedded
    private UserPrivileges privileges;
}

詳細については、ドキュメントを参照してください。

于 2012-06-06T08:58:17.607 に答える