Sping Boot Hibernate将注解合并为一个

hyrbngr7  于 2023-02-09  发布在  其他
关注(0)|答案(1)|浏览(151)

我基本上想把这个

@Entity
@Table(name = "edu_course")
public class EduCourse {
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="course_seq")
    @SequenceGenerator(
        name="course_seq",
        sequenceName="course_sequence",
        allocationSize=20
    )
    private int id;
}

变成这样:

@Entity
@Table(name = "edu_course")
public class EduCourse {
    @SequenceId(name = "course")
    private int id;
}

我尝试了不同的方法,但总是以编译器警告结束:"此注解不适用于目标"注解类""。是否可以执行此操作?

3df52oht

3df52oht1#

无法在当前等级库中创建元注解。
看一下@Id注解:

@Target({METHOD, FIELD})
@Retention(RUNTIME)

public @interface Id {}

ANNOTATION_TYPE未作为可能的目标列出,这就是您收到“This annotation is not applicable to target 'annotation class'"错误的原因。
2013年创建了一个未决问题Allow type level annotations to be used as meta-annotations #43,遗憾的是,它在2023年仍未实现。

相关问题