java - 如何使用 HQL 将 'null' 放入列中?

标签 java hibernate hql

如何构建有效的 HQL 字符串,相当于

UPDATE table SET field = null WHERE ....

最佳答案

您是指批量 HQL 更新吗?试试这个

UPDATE myEntity e SET e.myProperty = null WHERE ...

你也可以使用上面的参数化版本

UPDATE myEntity e SET e.myProperty = :param WHERE ...

在您的代码中:

int updatedEntities = session.createQuery(updateQueryHQL)
  .setString( "param", myValue ) // or .setString( "param", null )
  .executeUpdate();

参见 documentation了解详情。

如果您不进行批量更新,则应将属性设置为 NULL 并正常保留实体。

关于java - 如何使用 HQL 将 'null' 放入列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1257736/

相关文章:

java - MySql 插入查询

java - 在 Android Studio 3.2.1 中禁用代理设置不起作用

java - HibernateException 和 Throwable

java - JPA/Hibernate : Sub-typing vs. 策略 'pattern'

java - 无法从数据库中获取元素两次

java - Spring Boot 和 fetchType=Lazy

java - 从地理名称实现 Google API 搜索

intellij-idea - IntelliJ IDEA 不理解 Hibernate 查询语言 (HQL)

java - 如何在hql中对两个具有相同关键字的字段进行搜索操作?

java - 获取所有属性是否会在幕后进行左连接?