这两个表之间存在多对一关系:
银行帐户(使用货币) 货币
当我删除一个银行帐户时,休眠状态会尝试从货币表中删除货币。那显然是没有道理的。我的关系是:
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的知识非常生锈,这怎么了?
谢谢
答案 0 :(得分:0)
要回答我自己的问题:Eclipse高速缓存或某种形式的高速缓存导致了该错误。重新启动Eclipse和我的PC后,它可以工作了……仅浪费了1个小时。