我有2個實體的Order和Item,它們相關爲1:N,Order是父表,Item是子表。當我刪除一個訂單時,我想要刪除相應的項目。但它沒有發生,而是將子表中的OrderId設置爲「null」。這將在Item表中的數據庫中創建孤行。JPA一對多關係子錶行沒有被刪除
這裏是我的配置:我使用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"
不能夠弄清楚還需要做些什麼來解決這個問題。
@OneToMany(cascade = CascadeType.ALL,insertable = true,updatable = true) @JoinColumn(name =「ORDER_ID」)' –