2つのエンティティOrderとItemがあり、それらは1:Nとして関連付けられています。Orderは親テーブルであり、itemは子テーブルです。注文を削除するときに、対応するアイテムも削除したい。しかし、それは起こりません。むしろ、子テーブルのOrderIdを「null」として設定しています。これは、アイテムテーブルのデータベースに孤立した行を作成しています。
これが私の構成です:私はSpring、HibernateをJPAVendorおよびmysqlデータベースとして使用しています
@Entity
@Table(name="T_ORDER")
public class Order {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String customer;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="ORDER_ID")
private Collection items = new LinkedHashSet();
}
アイテムエンティティ
@Entity
public class Item {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@ManyToOne
private Order order;
private String product;
private double price;
private int quantity;
2JPAプロパティしか設定していません
key="hibernate.show_sql"=true
key="hibernate.hbm2ddl.auto"
この問題を解決するために他に何をする必要があるのか理解できません。