当前位置: 首页 > 知识库问答 >
问题:

只读数据的Spring引导存储库:@Query注释类型不适用于此类声明

颜欣怡
2023-03-14

我试图创建一个基本的存储库,这样我就可以获得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(); 
}

共有2个答案

熊哲圣
2023-03-14

我想你已经导入了坚持。在存储库中查询,以便出现错误删除该导入,然后重试

祖波光
2023-03-14

该问题是由于@Query()声明后面的分号引起的,这在java中是非法的。删除它应该可以修复编译。

@Query("SELECT tz FROM PgTz i WHERE i.name STARTSWITH('US/') OR i.name STARTSWITH('America/')")
Iterable<PgTz> findPgTzByName(); 

请参阅批注基础知识

 类似资料:
  • 我没有正确使用注释吗? 编译错误: 注释工作正常,可以毫无问题地访问该网页。

  • 我正在学习Spring和Data JPA。我对Ehcache有问题。我想缓存我的一个方法的返回值,该方法从数据库返回一些记录。这是一个预配置Ehcache实例的练习(我假设)。问题是,我不能使用注释@cacheable将我的方法标记为它的返回值应该被缓存的方法。我得到一个不兼容类型编译错误(Required:boolean,Found:String)。下面是我的服务层中的一个类,我认为我应该将@c

  • 2.11 和爪哇7。我正在尝试使用@XmlSchema注释我的包如下所示。 然而,我得到了这个编译错误,“注释类型不适用于这种声明” 有人知道为什么会发生这种事吗?

  • 我有一个包信息类,它以前在Java 6/7中编译。但是在Java 8中,我会遇到编译错误: * * * * *错误:批注类型不适用于这种声明@NamedNativeQueries({ 错误:注释类型不适用于这种声明@SqlResultSetMappings({***** 这是代码: 先谢谢你的帮助

  • 我正在尝试编译我正在编写的Java Web应用程序,并且我遇到了编译错误,我不知道该怎么办。从我完成的谷歌搜索中,我发现了这个SO问题,但是提问者使用的是EJB,而我的错误是在JPA实体类中。 下面是maven构建错误。 这是我的用户类文件。 我查看了javax.persistence.Index JavaDoc,我的声明是正确的,所以我在这里被难住了,有人知道我做错了什么吗?感谢您的时间和考虑。

  • 在编译过程中,我遇到一个错误:“注释类型不适用于这种声明”。和细节: 我使用JDK 1.6.18和@XmlElement在这个版本中不可用。我发现JAXB(它的版本)中的主要问题。它在这里被讨论: XmlElement注释用WebParam脱盐 是否可以替换JAXB实现在JavaJRE 1.6 SE中的版本?。 我使用认可的方法($JAVA_HOME/lib/认可)更新了JDK中的JAXB,但它仍