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

注释类型不适用于 Java 8 中包信息类中的此类声明错误

朱锐
2023-03-14

我有一个包信息类,它以前在Java 6/7中编译。但是在Java 8中,我会遇到编译错误:

* * * * *错误:批注类型不适用于这种声明@NamedNativeQueries({

错误:注释类型不适用于这种声明@SqlResultSetMappings({*****

这是代码:

@NamedNativeQueries({

    @NamedNativeQuery(name = "",
        query = "",
        resultSetMapping = "mapping"
    ),
    NamedNativeQuery(
         name = "",
         query = "",
         callable = true,
         readOnly = false,
         resultSetMapping = ""
    )
})

@SqlResultSetMappings({

})

package abc.domain;
import javax.persistence.ColumnResult;
import javax.persistence.EntityResult;
import javax.persistence.FieldResult;
import javax.persistence.NamedNativeQueries;
import javax.persistence.NamedNativeQuery;
import javax.persistence.SqlResultSetMapping;
import javax.persistence.SqlResultSetMappings;

先谢谢你的帮助

共有1个答案

冯和硕
2023-03-14

你一定是记错了;它没有也从来没有在java7上工作过(这是amedNativeQueries的java7文档-注意它如何有一个@Target(value=TYPE)标记,所以它不能放在一个包上,这是文档的v7版本!)

你把这样的东西放在一个类型上,比如顶级类型。这意味着注释出现在顶部附近,但是在package语句之后。假设您在< code>package-info.java文件中使用它们,它们就不能出现在这里(永远也不能)。

SqlResultSet映射是相同的。

很有可能< code>javac7没有真正检查这些注释的< code>Target条件。然而,这仅仅意味着你的代码从来没有工作过,即使它编译了。

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

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

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

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

  • 我试图创建一个基本的存储库,这样我就可以获得Postgres支持的我所在地区的时区。我得到错误“注释类型不适用于这种声明。”我应该如何处理这个问题?为什么不允许我在这里定义查询?

  • 我有一个焊接限定符注释声明如下: 我的豆子界面是这样的: 合格的实现是这样的: Maven编译器说(在AccountResponseResponder.java): 我确信我错过了一些明显的东西,但它是什么逃避了我。任何帮助将不胜感激。