ユーザーとデバイスの 2 つのエンティティ クラスがあります。
ユーザー エンティティ:
public class User {
private Long userId;
@OneToMany( mappedBy = "userId", fetch = FetchType.LAZY)
private Collection<Device> deviceCollection;
およびデバイス エンティティ:
public class Device implements Serializable {
@JoinColumn(name = "user_id", referencedColumnName = "user_id")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private User userId;
親ユーザーが削除された後、以前に分離されたデバイス エンティティをエンティティ マネージャーにマージすると、(以前に削除された) ユーザーとデバイスの両方がデータベースに再挿入されます。ユーザーまたはデバイス エンティティにカスケード アノテーションはありません。したがって、ユーザー エンティティが再挿入されるとは思いませんが、再挿入されました。
マージ操作がユーザー エンティティにカスケードするのを防ぐにはどうすればよいですか?
前もって感謝します。