这两个表之间存在多对一关系:
银行账户(有货币) 货币
当我删除银行帐户时, hibernate 会尝试从货币表中删除货币。这显然没有道理。我的关系如下:
银行账户:
@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 进行删除时, hibernate 会尝试删除附带的货币,但它不能这样做,因为其他表显然正在引用它们。
我对 Hibernate 的了解非常生疏,这里出了什么问题?
谢谢
最佳答案
回答我自己的问题:Eclipse 缓存或某种形式的缓存导致了错误。重新启动 Eclipse 和我的电脑后,它就可以工作了......只浪费了 1 个小时。
关于java - 为什么 Hibernate 尝试删除关联对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094746/