Squeryl提供了声明数据库级联机制的功能。您所要做的就是调用下一个方法:
relation_name.foreignKeyDeclaration.constrainReference(onDelete cascade)
其中relation_name
是oneToManyRelation
对象。因此,它将在数据库系统级别上生成约束。仅当您使用Schema.create机制创建ddl时,它才有效。在某些情况下,您无法更改ddl,因此您必须在应用级别实施级联操作。
squeryl是否提供了在应用程序级别上工作的机制我的意思是当你调用一些删除操作时,squeryl会自动拦截这样的调用并执行其他操作。 我听说callbacks但也许有更好的选择(更具说明性的方式)?
答案 0 :(得分:0)
没有声明方法让Squeryl遍历您的依赖项并删除相关对象。我认为回调是你最好的选择。