java - 在 @Query 中,我需要查询 DB 以选择一列为空的行。我正在使用 JpaRepository
问题描述
我尝试使用以下查询
@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 为空的行。
解决方案
好吧...无效的列意味着oracle无法解析查询中的列名。这通常意味着两件事中的一件:
- 一个错字
- 创建的列区分大小写。创建表格的人用双引号将列名括起来,并将列名放在除全部大写之外的其他地方。在 sqlplus、sqldeveloper 或任何其他客户端中执行“DESCRIBE <table_name>”并检查列名是否全部为大写。如果不是,您需要在查询中用双引号将它们括起来,并且名称与您看到的完全匹配。
推荐阅读
- azure-data-factory - 如何配置,事件触发
- php - 检查嵌套数字数组中包含的数字是否包含 PHP 中的范围
- typescript - 如何告诉 TypeScript 两个泛型类型是相同的?
- java - 有一个 InputMismatchException,我该如何解决?
- python - 如何为文件浏览器创建树(数据结构)?
- javascript - 在第一次加载网站后实现轮播位置更改
- javascript - 防止向字符串中的 \n 特殊字符添加反斜杠
- docker - docker 容器没有与 prometheus 进行内部通信
- c# - 像电话铃声一样播放通知声音
- python - 当某个值达到条件并停止循环时如何编写循环?