2011-04-07 55 views
0

Hibernate-Spring如何將我的保存轉換爲更新或保存?Hibernate-Spring如何將我的保存轉換爲更新或保存?

我在我的系統中使用了以下代碼,但是如果具有相同rUser的經銷商在表中,我想更新該行。我怎樣才能做到這一點?

public void saveDealer(Dealer dealer, String rUser) { 

    dealer.setUsername(rUser); 
    dealer.setAddedDate(new Date()); 
    sessionFactory.getCurrentSession().saveOrUpdate(dealer); 
} 

回答

1

當您使用saveOrUpdate 休眠會保存你的數據是否與特定的ID數據不存在,這將更新您的數據,如果有特定ID的數據是存在

0

你將不得不作出之前,現有的記錄進行檢查。 Hibernate沒有自動的方法來確定某個特定用戶是否存在經銷商記錄,並作出關於保存或更新的決定。我希望軟件能想到:-)

希望有所幫助。

+0

值得一提的是有可能做到這一點對大多數的數據庫與SQL類似「INSERT,對重複密鑰更新」。 – RHSeeger 2011-05-25 15:11:01

0

幾乎我所有的實體包含這樣的標識字段長ID。所以,我的save()方法是這樣的:

void save(EntityWithId entity) { 
    if (entity == null) 
     return; 
    if (entity.getId() == null) { 
     session.persist(entity); 
    } else { 
     session.merge(entity); 
    } 
} 
相關問題