2009-04-14 20 views
3

Was bedeutet ElementType der folgenden Anmerkung?Annotation ElementType

@Entity 
@Table(table="application") 
@ElementType(type=1L) 
class application extends Element 
+0

Sprache? Plattform? Technologie? – Cerebrus

+0

Können Sie die Importanweisungen der Klasse posten? –

Antwort

0

Das ist eine wörtliche vom Typ long und Wert ist 1. Was es bedeutet, hängt von der Definition der Anmerkung, aber wahrscheinlich gibt es Konstanten in der ElementType Annotation-Klasse definiert, die Sie angeblich sind, anstatt lange zu verwenden, Literale.

2

Bitte überprüfen Sie: ElementType. Es ist ein Enum und alle Felder sind dort definiert. Sie sollten sich nicht auf numerische Werte in Ihrem Code verlassen.

0

Vorausgesetzt, dieser Code kompiliert, gibt es viel falsch damit. ElementType ist eine Enumeration im JDK, keine Annotation, daher muss es eine benutzerdefinierte Annotationsschnittstelle sein. Es verwendet einen allgemeinen Annotations-bezogenen Klassennamen für eine Annotation, wodurch Verwirrung entsteht. Es verwendet eine lange anstelle einer Aufzählung oder zumindest eine deklarierte Konstante, um einen Typ zu definieren, der höchstwahrscheinlich nicht als numerisch verstanden wird. Und es deklariert einen Klassennamen in Kleinbuchstaben.

0

Die ersten beiden Anmerkungen sind eindeutig Java Persistence Annotationen. Es gibt keine JPA- oder Hibernate-Annotation ElementType, daher ist es nicht möglich, anhand dieses Code-Snippets zu erkennen, was es bedeutet.

Der vollständig qualifizierte Name für ElementType würde einige weitere Hinweise liefern, aber höchstwahrscheinlich handelt es sich um eine benutzerdefinierte Anmerkung. Die Definition davon liegt in Ihrer Codebasis.