Hibernate为什么尝试删除关联的对象?

时间:2019-11-28 18:43:20

标签: java spring hibernate jpa

这两个表之间存在多对一关系:

银行帐户(使用货币) 货币

当我删除一个银行帐户时,休眠状态会尝试从货币表中删除货币。那显然是没有道理的。我的关系是:

BankAccount:

@Entity
@Table(name = "bank_account")
@EntityListeners(AuditingEntityListener.class)
public class BankAccount {
    //...other fields ommited
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "currency_id", nullable = true)
    private Currency currency;
    //...
}

货币:

@Entity
@Table(name = "currency")
@EntityListeners(AuditingEntityListener.class)
public class Currency implements Serializable {

    @Id
    @Size(min = 2, max = 3)
    @NotNull
    private String id;

    @Column(name = "name")
    @NotNull
    private String name;

    @Column(name = "is_default")
    private boolean isDefault;

    //...ommited
}

当我在BankAccount中使用delete时,休眠会尝试删除伴随的货币,但由于其他表显然在引用它们,所以它无法这样做。

我对Hibernate的知识非常生锈,这怎么了?

谢谢

1 个答案:

答案 0 :(得分:0)

要回答我自己的问题:Eclipse高速缓存或某种形式的高速缓存导致了该错误。重新启动Eclipse和我的PC后,它可以工作了……仅浪费了1个小时。