我能够将id和version列用作GORM中的复合主键。问题是现在版本没有自动更新,现在固定为0,如果我尝试手动更改它,它会给我的行更新异常。有没有办法使用版本作为复合主键的一部分,仍然让hibernate处理它作为自动增量?
这是我的映射:
static mapping = {
id composite:['id', 'version']
version insertable: false, updateable: false
}
这里我如何处理id的增量:
def beforeInsert() {
if (id == null) {
def max=Reservation.createCriteria().get {
projections { max "id" }
} as Long
id = max+1
}
}
知道如何解决这个问题吗?