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

此位置不允许使用批注@索引

淳于宏伯
2023-03-14

尝试使用javax中的索引注释时。持久性,Eclipse给了我这个错误。

我在java.util.Date字段之前使用它,在带有@Entity注释的类中。

之前,我使用的是org。冬眠注释。索引在完全相同的位置,结果很好。

问题是在我将hibernate-core从4.1.9升级后开始的。最终到4.3.0。Beta3和hibernate-Commons-注释从4.0.1到4.0.2。它说@Index已弃用,并推荐javax.persistence一个。

我找到的所有文档和示例都将@Index放在类成员之前。我错过了什么?

共有3个答案

田彬郁
2023-03-14

如果使用Eclipselink,可以将此导入添加到类中:

import org.eclipse.persistence.annotations.Index;

然后将您的@Index添加到您的字段中,如下所示:

public class FooClass {
   @Index
   int field1;
}

@Index(columnNames = {"field1", "field2"})
public class FooClass {       
   int field1;
   int field2;
}
拓拔麒
2023-03-14

请参见此处:https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#annotations-jpa指数

使用这个:

@Table 
.......,indexes = @Index(columnList = ("COLUMN_NAME"),name="CUSTOM NAME AT INDEX",unique=false)
......
曹建华
2023-03-14

JPA索引注释只能用作另一个注释的一部分,如表、二级表等(请参阅javadoc中的另一部分):

@Table(indexes = { @Index(...) })
 类似资料:
  • 我已经编写了这个类以及EventListener注释和一个triggerMail方法—— 但是,在eclipse ide中,它给出了错误此位置不允许注释@EventListener和参数triggerMail的非法修饰符;只允许最终。 如何解决此问题?请帮助。

  • 我有一个配置文件,我想根据配置文件在其中创建不同的bean。 出于某种原因,这是可行的: 这不是,在Eclipse中给出错误消息: 此位置不允许注释 我宁愿使用第二个,但我不确定我是否可以。Spring API说它应该可以工作: 可通过以下任一方式使用配置文件注释: 作为任何类上的类型级注释,直接或间接使用组件进行注释,包括配置类 作为元注释,用于编写自定义原型注释 作为任何@Bean方法上的方法

  • 我发现以下错误:对于我们使用的swagger2.2.0位置,不允许使用注释@ApiResponses 如果不升级swagger版本,我们还有什么选择吗?请帮助。。

  • 我正在为我的Spring Boot应用程序配置OAuth2。我找到了一个解释它的链接https://gigsterous.github.io/engineering/2017/03/01/spring-boot-4.html. 这是我的OAuth2Config文件: 这是我的appUSerService文件: 但是我得到了这个错误:这一行有多个标记——这个位置不允许使用注释@限定符——注释类型限定

  • 问题内容: 尝试使用中的注释时,Eclipse给了我这个错误。 我正在字段之前在带有注释的类中使用它。 以前,我在完全相同的地方使用过,很好。 我将 hibernate-core 从 4.1.9.Final 升级到 4.3.0.Beta3 并将 hibernate-commons- annotation 从 4.0.1 升级到 4.0.2 后,问题开始了。它说不推荐使用,建议使用它。 我发现的所有

  • 我要将此批注分组: }) 在单个注释中,缩短响应代码。我发现这个问题基本上有相同的问题。此线程中的解决方案是创建一个自定义注释,在我的示例中,该注释如下所示: 但是,当我尝试此操作时,我收到一条错误消息,即此位置不允许使用ApiResponses 有什么建议吗?