【问题标题】:in @Query , I need to query DB to select a row where a column is null. I am using JpaRepository在 @Query 中,我需要查询 DB 以选择一列为空的行。我正在使用 JpaRepository
【发布时间】:2020-10-15 16:30:40
【问题描述】:

我尝试过使用下面的查询

@Query(value = "select E.SRC,E.TRGT,E.EVNT_STTS,E.ADDL_ATTR from EVNT.EVNT_LOG E where E.EVNT_ID=:eventId and E.ADDL_ATTR IS NULL" , nativeQuery = true)
List<AggregationLog> findByEventIdAndTargetAndAdditionalAttributeWithNULL(@Param("eventId") Long eventId);

在上面的查询中,我得到了无效的列名。

请指导我选择 eventID 和 addl_attr 为 null 的行。

【问题讨论】:

  • 看起来不错。如果您在sql-developer/sql plus 中执行此查询,它是否有效?

标签: java sql oracle spring-data-jpa


【解决方案1】:

嗯...无效列意味着 oracle 无法解析查询中的列名。这通常意味着两件事中的一件:

  1. 错字
  2. 创建的列区分大小写。创建表格的人用双引号将列名括起来,并将列名放在除全部大写之外的其他内容中。在 sqlplus、sqldeveloper 或任何其他客户端中执行“DESCRIBE ”并检查列名是否全部为大写。如果不是,您需要在查询中用双引号将它们括起来,并且名称与您看到的完全匹配。

【讨论】:

    猜你喜欢
    • 2020-01-06
    • 1970-01-01
    • 2018-04-23
    • 2016-12-03
    • 1970-01-01
    • 2021-10-05
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多