gpt4 book ai didi

playframework - save() 和 save() 在 play 框架中建模方法

转载 作者:行者123 更新时间:2023-12-04 03:38:40 28 4
gpt4 key购买 nike

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

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

I've handled it like this: The problem was with finding the place for making the validation while saving. In fact I've handled this issue using @PrePersist anotation for some method near the save() when I want to be sure that validation code would be invoced when persisting. So now I'm ok with save() and _save() :)

最佳答案

其实看看save()的代码:

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

所以它只是调用 _save() 并返回自身以链接调用。
_save 是包含真实业务逻辑的函数。
save 只是事件记录设计的一个更实用的外观。
例如,为什么 _save 是公开的而不是 protected ?我真的不知道。

_save() 可以毫无问题地调用 IMO,但它返回 void。就这样 ;)

关于playframework - save() 和 save() 在 play 框架中建模方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5417647/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com