java - 没有选择的 hibernate 更新

标签 java sql hibernate sql-update

我有一个关于 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/

相关文章:

java - 从文件中读取一行的一部分然后将其删除

java - Jenkins错误:java. io.IOException : error=13,权限被拒绝

java - 使用递归计算 10 的负数次方

SQL数据类型问题

java - slf4j + java.util.logging : how to configure?

sql - HIVE表格式如何查找给定的数据输入?

mysql - 比较特定列的值后,在 mysql select 语句上返回 bool 值

java - 表 "users"上的更新或删除违反了表 "fk_owner_id"上的外键约束 "movie_list"

java - hibernate - 表名定义

java - 使用现有数据库 hibernate