grails删除不起作用

时间:2015-08-28 14:19:40

标签: mysql hibernate grails gorm

我有以下课程

class Product {

}

class ProductTest extends Product {

    static hasMany = [events:Event]

}

class Event {

    static belongsTo = [product:ProductTest ]
}

当我打电话

def product = Product.get(1)
product.delete(flush:true)

我收到错误:

2015-08-28 16:15:13,770 [http-bio-8080-exec-7] ERROR errors.GrailsExceptionResolver  - MySQLIntegrityConstraintViolationException occurred when processing request: [GET] /xx/produkt/deleteProduct/300-fewfwef
Column 'event_id' cannot be null. Stacktrace follows:
Message: Column 'event_id' cannot be null

这没有任何意义,因为我打电话时

log.debug product.events

它返回一个空列表([]),因为我从未将该事件与该产品相关联

我试过

Product.executeUpdate("DELETE $Product.name WHERE id = :id", [id:product.id])

奇怪的是......

我正在使用数据库迁移插件...也许这会导致问题,因为它可能错误地创建了表?它绝对是由GORM引起的,因为executeUpdate可以工作但不是GORM等效的delete(flush:true)

0 个答案:

没有答案