0
사용자 및 이벤트의 두 엔티티가 있습니다. 각 사용자는주의를 기울이는 이벤트 목록을 가지고 있습니다.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