@OneToMany
পিতা-মাতার এবং সন্তানের সত্তার মধ্যে একটি সাধারণ ম্যাপিংয়ের সাথে আমার একটি সমস্যা আছে । সমস্ত ভাল কাজ করে, যখন আমি সংগ্রহ থেকে তাদের সরিয়ে ফেলি কেবল তখনকার শিশু রেকর্ডগুলি মুছে ফেলা হয় না।
পিতামাতা:
@Entity
public class Parent {
@Id
@Column(name = "ID")
private Long id;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
private Set<Child> childs = new HashSet<Child>();
...
}
শিশু:
@Entity
public class Child {
@Id
@Column(name = "ID")
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="PARENTID", nullable = false)
private Parent parent;
...
}
আমি যদি এখন শিশুদের সেট থেকে বাচ্চাটিকে মুছুন তবে এটি ডেটাবেস থেকে মুছে ফেলা হবে না। আমি child.parent
রেফারেন্স বাতিল করার চেষ্টা করেছি , কিন্তু এটিও কার্যকর হয়নি।
সত্তাগুলি একটি ওয়েব অ্যাপ্লিকেশনটিতে ব্যবহৃত হয়, মুছাটি একটি অ্যাজাক্স অনুরোধের অংশ হিসাবে ঘটে। সেভ বোতামটি চাপলে আমার মুছে ফেলা শিশুদের একটি তালিকা নেই, তাই আমি এগুলি স্পষ্টভাবে মুছতে পারি না।