根据此文档页面(Association Relationship),默认情况下,在一对多和多对多情况下,CodeFluent实体似乎在NOCHECK
模式下生成外键关系。另一方面,一对一关系上的外键是在 CHECK 模式下创建的。
我对此有几个疑问:
NOCHECK
外键被禁用。如果是这样的话,
创建所有禁用的外键的目的是什么?多谢。
答案 0 :(得分:0)
外键为您提供有关该方案的一些信息,即使未强制执行也是如此。同样,在开发过程中更新数据库时不会出现完整性错误也很方便。在文档中,据说这是出于性能方面的考虑,但我真的不确定这一点。
无论如何,您可以通过在项目上设置defaultPersistenceEnforce="true"
来指示CodeFluent实体检查约束
<cf:project defaultPersistenceEnforce="true">
从文档中
注意:出于性能原因,默认情况下不强制执行参照完整性。但是,可以通过将项目节点的defaultPersistenceEnforce属性设置为true来全局启用关系实施。
也可以强制执行特定关系而不是整个项目。可以通过在关联属性上将
persistenceEnforce
属性指定为true来实现。