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

银行帐户(有货币)
货币

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

银行账户:

@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尝试删除伴随的货币,但由于其他表显然在引用它们,因此它无法这样做。

我对Hibernate非常了解,这里出了什么问题?

谢谢

最佳答案

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

10-07 13:13
查看更多