繁体   English   中英

如何使用 SpringBoot 数据 JPA 运行此 SQL 语句?

[英]How can I run this SQL statement with SpringBoot data JPA?

提示:本站为国内最大中英文翻译问答网站,提供中英文对照查看,鼠标放在中文字句上可显示英文原文

我正在尝试使用 SpringBoot 和 PostgreSQL 创建数据过滤器,我正在尝试运行查询以在搜索栏中通过其nameidaccount id获取客户,在 Spring 中运行本机 SQL 语句时遇到问题数据 JPA,我收到以下错误:

跟踪错误

错误说Could not execute query 我试过以不同的方式运行该语句但仍然给我错误,这些是我尝试过的方式:

@Query(
        value = "SELECT json_data FROM contact WHERE name = :searchText OR account_id = :searchText OR id = :searchText", 
        nativeQuery = true)

@Query(
        value = "SELECT json_data FROM contact WHERE contact.name LIKE %:searchText% OR contact.account_id LIKE %:searchText% OR contact.id LIKE %:searchText%", 
        nativeQuery = true)

@Query(
        value = "SELECT json_data FROM contact WHERE name = ?1 OR account_id = ?1 OR id = ?1", 
        nativeQuery = true)

Page<Contact> findByWord(Pageable pageable, @Param("searchText") String searchText);

我能够在 PGAdmin 中成功运行查询,如下所示:

SELECT json_data FROM contact 
WHERE name = 'TESLA ARQUITECTURA S.A.S' 
OR account_id = '' 
OR id = ''

或者:

SELECT json_data FROM contact 
WHERE name = '' 
OR contact.account_id = '' 
OR contact.id = '2'

或者:

SELECT json_data FROM contact 
WHERE name = '' 
OR account_id = '1674590687S' 
OR id = ''

所有这些语句都有效,想法是如果我将参数作为参数传递给 SQL 语句,它将返回json_data列中的信息。

所以我不确定我在存储库中创建查询时是否做错了什么,非常感谢您对此的帮助。

在您的查询中执行select *而不是select json_data ,目前您正在尝试将单个列 map 放入整个实体中,这就是它抱怨结果集中缺少 id 的原因。 column name seq_id was not found in this result set一直存在于错误日志中。

问题未解决?试试搜索: 如何使用 SpringBoot 数据 JPA 运行此 SQL 语句?
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM