ON DELETE CASCADE未在DB中设置

时间:2012-11-27 07:47:34

标签: java mysql hibernate jpa

我尝试使用OneToOne关系创建域对象。 A是父母,B是孩子。

我尝试了许多不同的方法来级联从A到B的删除,但是当我查看数据库创建时,它没有设置ON DELETE CASCADE。

有人可以看到我做错了吗

A:

@Entity    
@Table(name = "financeaccountcurrencymapping")
    public class FinanceAccountCurrencyMapping implements Serializable {

        @Id
        @GeneratedValue
        private long id;

        @OneToOne(cascade = CascadeType.ALL, optional = false, orphanRemoval = true, mappedBy = "financeAccountCurrencyMapping")
        private FinanceAccount financeAccount;

我知道CascadeType.ALL或orphanRemoval应该可以解决这个问题,但他们不这样做。

B:

@Entity
@Table(name = "financeaccount")
public class FinanceAccount implements Serializable {


    @OneToOne(optional = true)
    private FinanceAccountCurrencyMapping financeAccountCurrencyMapping;

有人能看出它为什么没有级联删除?

1 个答案:

答案 0 :(得分:0)

我解决了它,但没有使用JPA

我在孩子身上设置了@OnDelete(action = OnDeleteAction.CASCADE)