Hibernate版本作为复合主键

时间:2015-07-26 20:50:07

标签: mysql hibernate grails gorm

我能够将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
        }
    }

知道如何解决这个问题吗?

0 个答案:

没有答案