使用spring data jpa多表关联查询遇到count计数问题

@Query(value = "SELECT * FROM USERS u left join class cl on  u.class_id = cl.id
		 WHERE LASTNAME = ?1",nativeQuery = true)
		 Page<User> findByLastname(String lastname, Pageable pageable);

后台报错 Unknown column ‘u’ in ‘field list’,查日志发现是jpa在count时默认查询

SELECT count(u) FROM USERS u left join class cl on  u.class_id = cl.id
		 WHERE LASTNAME = ?1

手动在@Query添加count查询语句,修改为

@Query(value = "SELECT * FROM USERS u left join class cl on  u.class_id = cl.id
		 WHERE LASTNAME = ?1", 
		 countQuery = "SELECT count(u.id) FROM USERS u left join class cl on  u.class_id = cl.id
		 WHERE LASTNAME = ?1",
		 nativeQuery = true)
		 Page<User> findByLastname(String lastname, Pageable pageable);

版权声明:本文为qq_39859768原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。