簡體   English   中英

總結其他注釋的Java注釋

[英]Java annotation that summarizes other annotations

我想為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的目標是字段和方法。 如果刪除@Embedded並單獨使用,則將忽略@EmbeddAdministrativeData批注。 正確的方法是什么?

JPA 2.2按照此鏈接支持“元注釋”。 然后歸結為您的JPA提供程序是否支持JPA 2.2(例如,我使用的是這些文檔所針對的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM