PostgreSQL 联合查询在 JPA 中不起作用
PostgreSQL Union query not working in JPA
以下 PostgreSQL 查询在 pgAdmin 中工作正常。
(select * from posts where id = 1) union (select * from posts);
但是当用 Spring Data JPA 编写时它不起作用。
@Query(value = "(select * from posts where id = 1) union (select * from posts)",
nativeQuery = true)
Page<Post> getPosts(Pageable pageable);
它给出了一个例外
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "where"
Position: 15
我想要两个 select 语句的联合,但联合查询在 JPA 中不起作用。
怎么样
select
*
from (
(select * from posts where id = 1)
union
(select * from posts)
) as subquery
作为您的查询?这是一个查询,框架可以在其中附加其 WHERE 子句而不会出现语法错误。
以下 PostgreSQL 查询在 pgAdmin 中工作正常。
(select * from posts where id = 1) union (select * from posts);
但是当用 Spring Data JPA 编写时它不起作用。
@Query(value = "(select * from posts where id = 1) union (select * from posts)",
nativeQuery = true)
Page<Post> getPosts(Pageable pageable);
它给出了一个例外
Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at or near "where"
Position: 15
我想要两个 select 语句的联合,但联合查询在 JPA 中不起作用。
怎么样
select
*
from (
(select * from posts where id = 1)
union
(select * from posts)
) as subquery
作为您的查询?这是一个查询,框架可以在其中附加其 WHERE 子句而不会出现语法错误。