Hibernate hat Probleme mit Annotations

T

Tobias Köhler

Hallo Leute,
ich versuche grad den Einstieg in Hibernate zu finden. Das wird dadurch erschwert, dass gleich die 2. Zeile nicht klappt^^

Laut Buch(Spring&Hibernate) muss ich bei der Klasse, um diese als Tabelle speichern zu können die Annotations einfügen:
Java:
@Entity
@Table(name = "Tabellenname") // Definiert einen Namen abweichend vom Klassennamen

nun meckert Eclipse aber an Table und name rum.
The annotation @Table must define the attribute appliesTo
The attribute name is undefined for the annotation type Table

wo liegt das Problem? Organize Imports bringt auch nix.

LG Tobias
 
import org.hibernate.annotations.Table;

geh ich mal von aus, dass der richtig ist;)
 
Laut Doku: http://www.hibernate.org/hib_docs/annotations/api/org/hibernate/annotations/Table.html

Handelt es sich bei appliesTo um den Namen der Tabelle. Also benutz dass doch einfach so.

Ein @Table mit name kommt z.B. in JPA vor: http://www.oracle.com/technology/pr.../resources/toplink-jpa-annotations.html#Table

Sollte aber beides funktionieren. JPA ist allgemein eine "Java Persistence API" während Hibernate für Persistenz in eine Datenbank zuständig ist. Willst du also deine Persistenzschicht einfach ändern können, so solltest du die JPA Annotations benutzen, willst du nur mit Hibernate arbeiten, kannst du auch die von Hibernate verwenden.
 
Was du durcheinander wirfst, sind JPA Annotations und Hibernate Annotations. In JPA hat die Annotation Table die Attribute, wie du sie in deinem Codestück verwendest. Die Hibernate Annotation Table benötigt die Attribute wie in der Fehlermeldung angegeben.

Entweder ist also das Buch nicht sehr genau (könnte bei dem ein oder anderen Verlag durchaus der Fall sein ;) ) oder du hast es einfach verwechselt. Ich würde dir raten auf JPA zu setzen, da du damit weigehend unabhängig von deinem Persistence Provider bleibst und damit (theoretisch) diesen ercht einfach austauschen kannst.

Es sollte reichen, das JPA Jar in den Classpath aufzunehmen und den Import zu korrigieren.

Gruß
Ollie

PS: da war wohl jemand schneller :p
 
Oh, danke:) Vom Verständnis hat mir das viel gebracht. Aber leider tu ich mich schwer damit, das einzubinden. Bzw das Auffinden der jpa.jar. Wo finde ich die?
 
Lauf Hibernate Webseite liegen die dem Hibernate Annotations bei. Also die Klassen auf jeden Fall, müssen nicht unbeding in einem Extra JAR liegen.

Gruß
Ollie
 
Hm, das ist dann aber schon eigenartig. Denn die Annotations habe ich ja eingebunden.
 
Was heißt "hab ich eingebunden"? Als Maven Dependency deklariert? Als User Library in Eclipse? Welche Jars aus dem Download?

REINHAUN!
 
Maven Dependency--> sagt mir nix
Im BuildPath habe ich hibernate3.jar, hibernate-annotations.jar, ejb3-persistence, cglib-2.1.3.jar, antlr-2.7.6.jar, asm.jar und jta.jar, die Logging-Sachen lasse ich jetzt mal weg
 

Neue Beiträge

Zurück