创建playramework的模型时,我们可以使用save()或_save()方法。为什么这两种方法都可以在框架中使用,原因是什么? (在这种情况下,它们也是一样的 - 将对象保存到db)。
为什么我这样问:我在做一些验证时使用了save()方法,但是如果他想要保存而没有验证,我的类的最终用户可以使用_save()。所以我问自己为什么有两种方法都是公开的。
我这样处理过:问题在于找到适合自己的地方 保存时进行验证。在 事实上,我已经使用了这个问题 某些方法的@PrePersist anotation 当我想确定时,在save()附近 验证代码将被调用 什么时候坚持所以现在我很好 save()和_save():)
答案 0 :(得分:5)
实际上,请查看save()的代码:
/**
* store (ie insert) the entity.
*/
public <T extends JPABase> T save() {
_save();
return (T) this;
}
所以它只是调用_save()并返回自己以进行链接调用 _save是包含真实业务逻辑的函数 保存只是主动录音设计的一个更实用的外观 为什么_save公开而不受保护?我真的不知道。
可以在没有任何问题IMO的情况下调用_save()但它返回void。这就是全部;)