1
私は、ユーザーとイベントの間に多くの関係があります。私はリレーショナルテーブルに余分な列を持つ必要があります。私がやったID:@ManyToMany余分の列 - Springデータを介して読み込む方法
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToMany(mappedBy="user")
private Set<EventUser> eventUsers = new HashSet<>();
//
}
@Entity
public class Event {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private long id;
@OneToMany(mappedBy="event")
private Set<EventUser> eventUsers = new HashSet<>();
//
}
@Entity
@Table(name = "Event_User")
public class EventUser {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private long id;
private String reaction;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "user_id")
private User user;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "event_id")
private Event event;
//
}
をしかし、今...私は、ユーザーが具体的な電子メールを持っているすべてのイベントをロードする方法がわかりません。その前にメソッドを使用しました: findByUsersEmail(String email);
イベントには[ユーザーを設定]フィールドがないので、これを行うことはできません。
アイデア?
1.テーブルの構造を変更する:ユーザー、イベント、反応、ユーザーイベントの反応 2. 'findByEmail'メソッドでクエリを変更する 3.イベントのみが必要な場合はどうすればいいですか?必要な理由 –