1
我有許多關於用戶和事件之間的關係。我需要在關係表中有額外的列。我沒有id:@ManyToMany帶額外的列 - 如何通過彈簧數據加載?
@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);
現在我不能這樣做,因爲Event沒有Set users字段。
任何想法?
1.更改表格的結構:用戶,事件,反應,用戶事件響應 2.在'findByEmail'方法中更改查詢方法 3.如果您只需要事件而不需要「@ JoinTable」需要理由 –