在play框架中保存()和save()模型方法

时间:2011-03-24 10:21:15

标签: playframework

创建playramework的模型时,我们可以使用save()或_save()方法。为什么这两种方法都可以在框架中使用,原因是什么? (在这种情况下,它们也是一样的 - 将对象保存到db)。

为什么我这样问:我在做一些验证时使用了save()方法,但是如果他想要保存而没有验证,我的类的最终用户可以使用_save()。所以我问自己为什么有两种方法都是公开的。

  

我这样处理过:问题在于找到适合自己的地方   保存时进行验证。在   事实上,我已经使用了这个问题   某些方法的@PrePersist anotation   当我想确定时,在save()附近   验证代码将被调用   什么时候坚持所以现在我很好   save()和_save():)

1 个答案:

答案 0 :(得分:5)

实际上,请查看save()的代码:

/**
 * store (ie insert) the entity.
 */
public <T extends JPABase> T save() {
    _save();
    return (T) this;
}

所以它只是调用_save()并返回自己以进行链接调用 _save是包含真实业务逻辑的函数 保存只是主动录音设计的一个更实用的外观 为什么_save公开而不受保护?我真的不知道。

可以在没有任何问题IMO的情况下调用

_save()但它返回void。这就是全部;)