سه تا جدول داریم که به صورت زیر می باشد . سوالم اینه که فرض کنید سطری از جدول Table1 حذف میشه حالا چطور باید سایر سطرهایی که با کلید خارجی با سطر حذف شده ارتباط دارند رو حذف کرد. روشی که استفاده کردم این بود که اول سطرهای مربوط به Table2 و Table3 رو حذف کردم بعد سطر مربوط به Table1 رو حذف کردم. فک میکنم این روش هزینه بره!
@Entity
@Table(name = "Table1")
public class Entity0 implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@Column(name = "foriegnID")
private Integer foriegnID;
@OneToOne(fetch =FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "map_name")
private Entity entity1;
@OneToMany(mappedBy = "map_name", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Entity2> entities;
===================================================
@Entity
@Table(name = "Table2")
public class Entity1 implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GenericGenerator(name = "generator", strategy = "increment")
@Column(name = "id")
private int id;
@OneToOne(fetch=FetchType.EAGER)
@JoinColumn(name="foriegnID",
insertable=true, updatable=false,
nullable=true)
private Entity0 entity0;
======================================================
@Entity
@Table(name = "Table3")
public class Entity2{
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="foriegnID",
insertable=true, updatable=true,
nullable=true)
private Entity0 entity0;
پیشنهاد شما چیه؟
ممنون