使用@Query时出错

时间:2017-01-27 12:32:04

标签: spring-boot spring-data-jpa

我尝试使用虚拟查询在我的项目上测试@Query ...但最简单的测试不起作用...这里添加{{1}之前正在运行的src/main/java/com/angular/address/domain/repository/ICityRepository.java文件行。

@Query

如何实施package com.myproj.address.domain.repository; import com.myproj.address.domain.entity.City; import com.myproj.address.domain.entity.State; import com.myproj.base.BaseRepository; import org.springframework.data.annotation.QueryAnnotation; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.query.Procedure; import org.springframework.data.repository.query.Param; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import java.util.List; @Repository public interface ICityRepository extends BaseRepository<City, Long> { Page<City> findByState(State state, Pageable pageable); //working fine List<City> findByState(State state); // working fine @Query("select count(*)*2.1 from city") Double findCustom(); // error HERE } 的自定义查找方法?有什么问题?我正在使用JPA v2.1,Hibernate和PostgreSQL。

错误... 错误在哪里?这是丑陋的消息,

@Query

1 个答案:

答案 0 :(得分:3)

@Query("select count(*)*2.1 from city")无效jpql查询。如果要完全按照定义使用查询,则应启用nativeQuery=true属性。

@Query(nativeQuery = true, value= "select count(*)*2.1 from city")

如果不是原生,请查看this answerjpql计算。

SideNote:如果错误仍然存​​在,那么您可能必须删除@Repository注释。