2011-04-07 41 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); 
    } 
} 
相关问题