小编Dan*_*iel的帖子

Grails Gorm:Object引用未保存的瞬态实例

在Grails中保存Trip的实例时,我得到以下异常:

2011-01-26 22:37:42,801 [http-8090-5] ERROR errors.GrailsExceptionResolver - 对象引用未保存的瞬态实例 - 在刷新之前保存瞬态实例:Rower org.hibernate.TransientObjectException:object引用未保存的瞬态实例 - 在冲洗之前保存瞬态实例:Rower

这个概念很简单:对于一个游船,你需要一些划船者,一个舵手(也是一个划船者)和一艘船:

旅行看起来像(缩短):

class Trip {
    Boat boat;
    Rower coxwain;

    static belongsTo = [Rower,Boat]
    static hasMany = [rowers:Rower]
}
Run Code Online (Sandbox Code Playgroud)

和划船(缩短)

class Rower { 
    String firstname;
    String name;
    Rower reference;

    static hasMany = [trips:Trip];
    static mappedBy = [trips:"rowers"]
}
Run Code Online (Sandbox Code Playgroud)

然后行程保存在控制器中,如:

def save = {
        def trip = new Trip(params)

        // adding Rowers to Trip
        if (params.rower instanceof String) {
            def r = Rower.get(params?.rower)

            if (r != null) {
                trip.addToRowers(r) …
Run Code Online (Sandbox Code Playgroud)

grails grails-orm

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

grails ×1

grails-orm ×1