我正在尝试创建一个基本存储库,以便我可以获得 Postgres 支持的我所在地区的时区。我收到错误“注释类型不适用于此类声明”。 我应该如何处理这个问题?为什么我不允许在这里定义查询?
import com.me.model.PgTz;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
@Repository
public interface TzRepository extends org.springframework.data.repository.Repository<PgTz,String>
{
@Query("SELECT tz FROM PgTz tz WHERE tz.name STARTSWITH 'US/' OR tz.name STARTSWITH 'America/'");
Iterable<PgTz> findPgTzByName();
}
最佳答案
该问题是由于 @Query()
声明后的分号引起的,这在 java 中是非法的。删除它应该可以修复编译问题。
@Query("SELECT tz FROM PgTz i WHERE i.name STARTSWITH('US/') OR i.name STARTSWITH('America/')")
Iterable<PgTz> findPgTzByName();
关于java - 只读数据的 Spring Boot 存储库 : @Query annotation type not applicable to this kind of declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62333160/