Java 是否可以创建一个组合注释来组合多个字段注释?
我的JPA实体中有一些布尔字段,它们以以下方式进行注释:Java 是否可以创建一个组合注释来组合多个字段注释?,java,jpa,annotations,Java,Jpa,Annotations,我的JPA实体中有一些布尔字段,它们以以下方式进行注释: @Column(length = 1) @Type(type = "yes_no") private final boolean myField; 是否可以创建一个组合注释(例如MyAnnotation)来组合这两个注释 @MyAnnotation private final boolean myField; 如何创建?显然,您可以创建一个注释,提供与多个其他注释等效的注释 同样明显的是,没有JPA提供商会支持它,因为他们只会检查ja
@Column(length = 1)
@Type(type = "yes_no")
private final boolean myField;
是否可以创建一个组合注释(例如MyAnnotation)来组合这两个注释
@MyAnnotation
private final boolean myField;
如何创建?显然,您可以创建一个注释,提供与多个其他注释等效的注释
同样明显的是,没有JPA提供商会支持它,因为他们只会检查javax.persistence注释(不是@Type是javax.persistence)。您想要的与之类似-不幸的是,JPA不支持这样的概念,因此您必须复制所有重复出现的注释
如果您可以将字段包装到对象中,您可以将其标记为并将字段放入对象中-该字段上的注释将复制到将该对象嵌入实体的任何位置。您可以使用
@AnnotationOverrides
扩展注释。显然,这种解决方案的缺点是在访问实体中的字段时会增加复杂性。我过去和现在都不确定是否可能在语法上为字段注释创建组合注释(我问题的核心),但我想,如果JPA提供商无论如何都不会识别这样的注释,我就不必再考虑它了。谢谢你的回答!