0
私は2つのエンティティ、UserとEventを持っています。各ユーザーには、注意を払うイベントのリストがあります。JPA:ManyToMany関係の制限
@Entity
@Table(name = "user")
public class User {
@Id
@Column(name = "login", length = 64)
protected String login;
@ManyToMany
@LazyCollection(LazyCollectionOption.FALSE)
@JoinTable(name = "user_events",
joinColumns = {@JoinColumn(name = "login") },
inverseJoinColumns = {@JoinColumn(name = "event_id") })
protected List<Event> events;
}
@Entity
@Table(name = "events")
public class Event extends BaseEntity {
@Id
@Column(name = "event_id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected Long eventId;
}
しかし、ユーザーがイベントに注意を払うと、そのイベントをデータベースから削除できません。 JPAによって設定されている制限があるようです。誰かがそれを修正する方法を教えてもらえますか?前もって感謝します。
ありがとう、これは唯一の方法ですか?注釈を追加して、イベントを削除すると、そのイベントのユーザーからのすべての参照が削除されるようにすることはできますか? – John
ネイティブSQLを使用する以外は、これが唯一の方法だと思います。 –
ご協力いただきありがとうございます。 – John