Ale*_*ioG 5 java sql hibernate sql-update
我有一个关于休眠操作的问题:更新。
这里有一些代码:
Campaign campaign = campaignDAO.get(id);
campaign.setStatus(true);
campaignDAO.update(campaign);
Run Code Online (Sandbox Code Playgroud)
如果我只有活动对象的所有数据,是否有任何方法可以在不先执行 select (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
}
Run Code Online (Sandbox Code Playgroud)
然后您可以简单地从业务方法中调用此方法。show_sql您可以通过将hibernate 属性设置为 来检查应用程序日志中生成的 SQL 语句true。