java - Spring数据中Native JPA的UPDATE查询中设置NULL值

标签 java sql oracle jdbc spring-data-jpa

每当我的 PrimaryGrpId 为 null 时,以下 native 查询就会失败并出现 SQLGrammerException,因为它需要 NUMBER。 Andy 想法如何在 JPA 中的 native 查询参数值为 null 时设置 NULL。数据库是ORACLE。

@Modifying
@Query(nativeQuery = true, value = "update EVENT set PRIMARY_CATEGORY_ID=?2, PRIMARY_GROUPING_ID=?3 where PRIMARY_PERFORMER_ID=?1")
  void updatePrimaryCatGrpOfEntities(Long primaryPerfId, Long primaryCatId, Long primaryGrpId);

由以下原因引起:java.sql.SQLSyntaxErrorException:ORA-00932:数据类型不一致:预期的 NUMBER 为 BINARY

我所有的 DAO 方法都只是声明,没有提供实现来编写诸如“setParameter”之类的东西......等等

enter image description here

最佳答案

检查列定义是否允许为空。

关于java - Spring数据中Native JPA的UPDATE查询中设置NULL值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45703077/

相关文章:

java - 判断客户端浏览器是否安装了java,是否可以启动小程序

java - 比较日期的方法似乎根本不起作用

mysql - 在同一列上使用多个WHERE条件进行选择

Mysql 查询 - 在 case 语句中使用 Locate 函数按来源对流量进行分组

oracle - Oracle 版本上的字母是什么意思?

c# - PLS-00306 : wrong number or types of arguments when calling oracle function

java - 为什么静态 block 中的代码不执行?

Java 8 使用 stream() 将 List<Object> 提取/转换为 Map<String, List<String>>

sql - 如何自动将实体模型更改部署到数据库?

oracle - ORA-00972 : identifier is too long - Best strategy to avoid it in Grails