我在同时使用hasOne和belongsTo时出错。
class AlphaPhase{
//want to store the next phase (if there is one) as a column on this table
static belongsTo=[nextPhase:BetaPhase]
static constraints{
nextPhase(nullable:false);
}
}
class BetaPhase{
//defer storing the id of the relationship to the child table
static hasOne=[previousPhase:AlphaPhase]
}
BetaPhase beta=new BetaPhase();
beta.previousPhase=existingAlphaPhase;
beta.save();
新的BetaPhase ID永远不会保留AlphaPhase.nextPhase列。 (由于设置新的Beta时尚未持久,因此暂时出现问题?) AlphaPhase仍然是一个孤儿,其值设置为NULL。
我可以解决这个问题而不求助于
def beta=new BetaPhase();
beta.save();
existingAlphaPhase.nextPhase=beta;
existingAlpha.save();