当前位置: 首页 > 知识库问答 >
问题:

在Spring数据中本机JPA的更新查询中设置NULL值

萧德庸
2023-03-14

每当我的primaryGrpId为null时,以下本机查询就会因SQLGrammerException而失败,因为它需要数字。Andy知道如何在JPA中使用本机查询将参数值设置为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.SQLSynaxErrorException: ORA-00932:不一致的数据类型:预期的数字得到了二进制

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

共有1个答案

齐飞星
2023-03-14

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

 类似资料:
  • 问题内容: 这是我的代码部分: 有时可以为null(Date类对象)。如果为null,则会引发以下异常: 如何使此代码正常工作并将null值持久保存到数据库中? 问题答案: 您正在使用postgresql(已经在堆栈中进行了说明),并且可能正在使用Hibernate,几乎可以肯定会遇到此问题:PostgreSQL JDBCNull String作为bytea 因此,这意味着转义到Hibernate

  • 我使用Spring引导和Spring数据JPA。它工作得很好但是!我需要使用复杂的本地查询从Oracle数据库(源数据从SAP ERP)。 假设查询包含5个joned表(一个键或组合键)。我可以使用很多参数。 解决方案: 1)由于耗时,使用JPA为该查询编写新查询是不真实的。创建表之间的所有键关系似乎很复杂。 2)为了运行这些查询,我使用JDBC。这很容易,因为我准备了本机查询。但我深信这种做法是

  • 我试图使用Spring数据JPA获得一个查询的结果。这里我发送一些参数,并根据这些参数接收结果。 我的存储库查询是, 然后从控制器处呼叫,如下所示, 在这里,我们可以看到,如果我传递一些值,然后只根据该参数进行检查。这里我需要修改我的查询,如果参数为空,那么不需要在查询中使用AND条件。 如果参数为空,如何修改此查询以避免AND条件?我是Spring Data JPA世界的新手。

  • 我使用注释和注释执行查询,并从数据库表中删除记录。 错误: xxx的例外。xxx。xx,原因='javax。坚持不懈TransactionRequiredException:执行更新/删除查询“和异常=”执行更新/删除查询;嵌套的异常是javax。坚持不懈TransactionRequiredException:执行更新/删除查询'

  • 尝试在Spring Data JPA中做更新查询。在我的测试方法(见下文)中,我正在保存一个学生firstName="Bill"和lastName="Smith"。怎么可能是我正在将"Bill"打印出来到控制台(非常最后一行),鉴于学生Respository.findByFirstName("John")实际上给出了一个列表与一个成员?任何帮助赞赏...

  • 问题内容: 我正在尝试做: 但是我得到了IllegalArgumentException,它告诉我参数超出范围。我究竟做错了什么? 问题答案: 参数周围不应有引号。尝试以下方法: 您可能还需要仔细检查您的真实意思,因为这可能并没有按照您的想象做。