[英]Hibernate @ManyToOne on inconsistent database
假设我有两个表,employee和department,其中emp有一个@ManyToOne键来指定部门。 现在,我希望能够从dept表中删除行,但保留emp记录指向该行; 基本保存关系,以便在重新创建部门表时恢复关系。 (这实际上发生在我们的系统中,但不是使用休眠模式,而是使用组合的,可复制的密钥)。
问题是:@manyToOne关系似乎在那儿但在@One关系的一部分中没有记录,休眠会崩溃吗? (基本上是数据库状态不一致)。
我可能应该通过删除@ManyToOne关系并仅将外键映射到String左右来解决此问题。 我只是想知道我们是否可以解决这个问题。
现在,我希望能够从dept表中删除行,但保留emp记录指向该行;
然后,您必须从逻辑上而非物理上删除它们(FK约束实际上将阻止您删除部门)。
如果@ManyToOne关系似乎存在但在@One关系的一部分中没有记录,冬眠会崩溃吗?
您没有参照完整性(见上文)吗? 但是,假设您破坏了完整性...也许您可以加载员工,但是某些时候会崩溃(在加载关联时,如果不是之前)。
我可能应该通过删除@ManyToOne关系并仅将外键映射到String左右来解决此问题。 我只是想知道我们是否可以解决这个问题。
从逻辑上删除部门。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.