würde ich die Dokumentation für diese
2.2.1 zitieren. Markieren eines POJO als persistente Entität
Jede persistente POJO Klasse ein Unternehmen ist und erklärt mit Hilfe der @Entity Anmerkung (auf Klassenebene):
@Entity public class Flug implementiert Serializable { Lange id;
@Id
public Long getId() { return id; }
public void setId(Long id) { this.id = id; } }
@Entity die Klasse als Ganzes erklärt (das heißt eine persistente Klasse POJO ) erklärt @Id den Identifikator Eigenschaft dieser Entität. Die anderen Zuordnungsdeklarationen sind implizit. Die Klasse Flight wird der Flight-Tabelle zugeordnet, wobei die Spalten-ID als primäre Schlüsselspalte verwendet wird. Hinweis
Das Konzept der Konfiguration durch Ausnahme ist von zentraler Bedeutung für die JPA Spezifikation.
Je nachdem, ob Sie Felder oder Methoden annotieren, wird der von Hibernate verwendete Zugriffstyp Feld oder Eigenschaft sein. Die EJB3-Spezifikation erfordert , dass Sie Anmerkungen für den Elementtyp deklarieren, der auf zugegriffen wird, d. H. Die Getter-Methode, wenn Sie den Eigenschaftszugriff verwenden, das Feld , wenn Sie Feldzugriff verwenden. Das Mischen von Anmerkungen in beiden Feldern und Methoden sollte vermieden werden. Hibernate wird den Zugriffstyp von der Position von @Id oder @EmbeddedId erraten.
Es gibt etwas namens JPA aka Java Persistence API. Hibernate folgt den Richtlinien in seiner Implementierung. So stellen Sie sicher, dass es von JVM korrekt erkannt wird (und als Entity gemappt wird)
JPA wird jede Klasse einschließen, die mit @Entity im Persistenzmanagement-Setup versehen ist. Sie benötigen keine persistence.xml, wenn Sie Anmerkungen verwenden. Dies gilt auch für andere JPA-Implementierungen wie Open-JPA
Als Daumenregel zu Java. J2EE bietet Richtlinien in Form von Schnittstellen und Anmerkungen sowie verschiedene andere Möglichkeiten. Wenn jemand eine API-Implementierung von J2EE entwickelt, folgt er diesen Anweisungen. Dies ist der Weg der Standardisierung.
_Damit es von JVM_ korrekt erkannt wird - klingt seltsam :) –
Vielleicht können Sie es korrigieren. Mein Verständnis ist jede Anmerkung ist ein Metadaten für JVM oder Compiler. – Acewin
Eine Annotation ist nur ein zusätzliches Attribut der Klasse. JVM oder Compiler machen nichts damit. Sie müssen Code schreiben, um eine Annotation der Klasse zu erhalten (wie Hibernate) und seinen Namen überprüfen. Versuchen Sie, Ihre eigene Annotation zu entwickeln (es ist ziemlich einfach) und Sie werden sehen. –