【问题标题】:ON DELETE CASCADE not being set in DBON DELETE CASCADE 未在 DB 中设置
【发布时间】:2012-11-27 07:47:34
【问题描述】:

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

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

谁能看到我做错了什么

答:

@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 应该可以解决问题,但它们没有。

乙:

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


    @OneToOne(optional = true)
    private FinanceAccountCurrencyMapping financeAccountCurrencyMapping;

有人能看出为什么它不会级联删除吗?

【问题讨论】:

  • 我更喜欢 JPA 实现

标签: java mysql hibernate jpa


【解决方案1】:

我解决了,但不是用 JPA

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多