繁体   English   中英

Hibernate @ManyToOne在不一致的数据库上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM