[英]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.