我想为一个JPA实体字段创建一个注释,它总结了一些其他注释。这是我想要创建的注释:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Embedded;
@Target(value = {ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "createdAt", column = @Column(name = "created_at", columnDefinition = "TIMESTAMP WITH TIME ZONE")),
@AttributeOverride(name = "lastChangedAt", column = @Column(name = "last_changed_at", columnDefinition = "TIMESTAMP WITH TIME ZONE")),
@AttributeOverride(name = "lastChangedBy", column = @Column(name = "last_changed_by")),
@AttributeOverride(name = "createdBy", column = @Column(name = "created_by")) })
public @interface EmbeddAdministrativeData {
}但这在@Embedded处产生了语法错误,因为@Embedded的目标是Field和Method。如果我删除@Embedded并单独使用它,@EmbeddAdministrativeData注释将被忽略。这样做的正确方法是什么?
发布于 2017-09-20 23:09:45
根据this link,JPA2.2支持“元注释”。然后归结为您的JPA提供程序是否支持JPA 2.2 (例如,我使用的那个,这些文档就是这样做的)。
https://stackoverflow.com/questions/46325190
复制相似问题