我有一个关于 hibernate 操作的问题:更新。
这里有一些代码:
Campaign campaign = campaignDAO.get(id);
campaign.setStatus(true);
campaignDAO.update(campaign);
如果我只有 Activity 对象的所有数据,有没有办法在不执行第一个选择 (campaignDAO.get(id)) 的情况下执行更新?
谢谢,
阿莱西奥
最佳答案
HQL 一定能帮到你。
为了保持关注点分离,您可以在 DAO 对象中添加一个更专门的方法:
public void updateStatusForId(long id, boolean status){
//provided you obtain a reference to your session object
session.createQuery("UPDATE Campaign SET status = " + status + " WHERE id = :id").setParameter("id", id).executeUpdate();
//flush your session
}
然后您可以简单地从您的业务方法中调用此方法。您可以通过将 show_sql
hibernate 属性设置为 true
来检查应用程序日志中生成的 SQL 语句。
关于java - 没有选择的 hibernate 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19809111/