[英]Is it a good or bad convention to update entity / row without calling save() in hibernate / spring-jpa?
[英]Is it a good convention to define save method inside hibernate/jpa entity class?
我有一个休眠的实体/模型类,如下所示
class User{
private Integer id,
Private String name,
private String description
//getters and setters
public void Save(this){
}
}
在此类声明中与setter和getter一起定义save方法是否是一个好习惯? 这样使用是否有好处,例如避免重复记录?
不,那不是一个好习惯。 通常,您有一个称为DAO(数据访问对象)的特殊层,它关心保存/获取/删除...您的实体。 域模型(即您的实体)仅表示数据,并且有DAO层与它们一起使用。 使用JPA这样强大的规范,您可以将DAO层与业务逻辑层(EJB / Beans / CDI)合并,但这可能是另一个讨论的主题。 当然,您可以在实体中进行一些验证,例如,未持久化但返回要记录的实体的String版本的方法getLoggingString()。
PS:您编写的方法与该签名毫无意义:您需要保存自身的public User save()
方法,或者需要static public User save(User userToSave)
。
一些参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.