2

1対多および多対多の関係を持つはずの2つのエンティティの処理に問題があります。事例をお見せしましょう。アクティビティを作成して参加するユーザーがいます。したがって、アクティビティには複数のユーザーと1人のアクティビティ作成者だけが含まれる可能性がありますが、ユーザーは多くのアクティビティを作成して所属することができます。

だから私はこのようなことをしました:

class User {

    static hasMany = [activities:Activity, activitiesCreated: Activity]
    static mappedBy = [activitiesCreated: "creator"]
...
}

class Activity{

    static hasMany = [users:User]
    static belongsTo = [users:User]
    Usuario creator
...
}

これにより、実行時例外が発生します。これは、ドメインクラス[classUser]と[classActivity]の間に多対多の関係で所有者が定義されていないことです。例:静的belongsTo=アクティビティ

多対多の関係は、1対多を実装しようとしない場合は正常に機能するため、問題にはなりません。

そして、これは私が立ち往生しているところです:/

4

1 に答える 1

4

多対多の関係を実現するための第3のエンティティが必要です。たとえば、アクティビティの実際の実行をイベントとして表すとします。これは、イベントに 1 つ以上のアクティビティ、タイムスタンプ/時間枠、および 1 つ以上の参加ユーザーがあることを意味します。ユーザーは 1 つ以上のアクティビティを作成できます。同様に、アクティビティの所有者はイベントを所有していると見なされます。

于 2012-05-18T21:14:26.710 に答える