【发布时间】:2014-11-08 11:48:16
【问题描述】:
我有一个 grails 2.4.3 应用程序要访问一个旧的、易损坏的数据库,其中的数据完整性有问题。
随着时间的推移,各种破裂的关系已经建立起来......不知道为什么,我/拥有组织准备说“这只是生活/历史,我们会忍受它。”
问题是,如何“忍受它”?
具体来说:如何在 Grails/GORM 中处理这些破碎的关系?
目前,当我访问一个关系中断的 Note 实例时,我得到一个异常:
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [Contract#292]
我可能会像这样飞溅测试:
Contract.exists(note.contract_id)
在我的整个代码中,但是...YUK!这将成为一项大规模的练习:在使用之前检查每一个关系将是可怕的。
有没有更好的方法?一种让我的代码既干燥又更健壮的方法?
这不是 GORM/Hibernate/ORM 特定的问题,但我想知道框架是否会提供任何帮助解决此问题。
关系大多被标记为可空:true。
我的数据库是 mysql/innodb。
【问题讨论】:
标签: mysql hibernate grails grails-orm