【发布时间】:2021-10-18 01:31:48
【问题描述】:
我在使用@Query 时遇到了一个问题
@Query(value = "select c.id as id, c.store_id as store_id, c.name as name, c.type as type, c.rate as rate, " +
"(select count(pc.partner_id) from partner_commission pc where pc.commission_id = c.id) as number_of_partner " +
"from commission c join partner_commission pc on c.id = pc.commission_id where c.store_id=:storeId", nativeQuery = true)
Page<Commission> findCommissionForManagement(@Param("storeId") Long storeId, Pageable pageable);
我已经在数据库 (postgresql) 上测试了这个脚本,它成功了!但是,hibernate生成的sql脚本如下:
Hibernate: select c.id as id, c.store_id as store_id, c.name as name, c.type as type, c.rate as rate, (select count(pc.partner_id) from partner_commission pc where pc.commission_id = c.id) as number_of_partner from commission c join partner_commission pc on c.id = pc.commission_id where c.store_id=? limit ?
Hibernate: select count(pc) from partner_commission pc where pc.commission_id = c.id) as number_of_partner from commission c join partner_commission pc on c.id = pc.commission_id where c.store_id=?
2021-08-16 04:05:44.645 WARN 15976 --- [llCommissions-1] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42601
2021-08-16 04:05:44.645 ERROR 15976 --- [llCommissions-1] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: syntax error at or near ")"
Position: 74
希望能得到帮助
【问题讨论】:
标签: spring postgresql hibernate spring-data-jpa