Ich möchte eine Annotation für ein JPA-Entity-Feld erstellen, die einige andere Annotationen zusammenfasst. Dies ist die Anmerkung Ich mag würde erstellen:Java-Annotation, die andere Annotationen zusammenfasst
bei @Embeddedimport 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 {
}
Aber das gibt einen Syntaxfehler, da das Ziel von @Embedded ist Field und Methode. Wenn ich @Embedded entferne und es separat verwende, wird die Annotation @EmbeddAdministrativeData ignoriert. Was wäre der richtige Weg, dies zu tun?
Ich glaube nicht, dass ich folge. Du hast deine eigene Anmerkung erstellt und fragst, wie man Hibernate erkennt? Die Antwort, fürchte ich, ist, dass Sie das nicht können - es sei denn, Sie erstellen Ihre eigene Gabelung von Hibernate. – crizzis