2011-04-19 13 views
9

Próbuję utworzyć podstawową jednostkę POJO w trybie hibernacji przy użyciu najnowszej hibernacji i dodałem niezbędne pliki jar pobrane ze strony internetowej hibernacji.Czego brakuje mi przy używaniu adnotacji hibernacji?

problemem jest to, kiedy dodać linię @Tabe (name = "user")

narzeka błędu kompilacji:

The annotation @Table must define the attribute appliesTo

pełny kod poniżej:

package com.jr.entities.users; 

import java.io.Serializable; 

import org.hibernate.annotations.Entity; 
import org.hibernate.annotations.Table; 

@Entity 
@Table(name = "user") 
public class DAOuser implements Serializable{ 

    private String uid; 
    private String emailAddress; 
    private String username; 
    private String password; 


} 

W tym przykładzie link http://www.roseindia.net/hibernate/hibernateannotations/hibernate-annotations-tutorial.shtml mówi, że nie trzeba stosować, aby ustawić wartość? czy czegoś brakuje? Stworzyłem prosty projekt EJB3 w Zaćmienie J2ee, jeśli to pomaga.

góry dzięki

Odpowiedz

13

Istnieją dwa zestawy adnotacji utrwalania (@Entity i @Table) - JPA adnotacji (w opakowaniu javax.persistence) i hibernacji adnotacje (w opakowaniu org.hibernate.annotations). Zwróć uwagę, że przykład wykorzystuje adnotacje JPA, podczas gdy twój kod używa adnotacji Hibernate, więc Twój kod nie kompiluje się, ponieważ te adnotacje mają różne zestawy atrybutów.

Musisz zmienić pakiety w swoich instrukcjach import.

Zwykle powinieneś używać adnotacji JPA, chyba że potrzebujesz pewnych funkcji dostępnych tylko przy pomocy adnotacji Hibernate.

+0

ahh ok. czy istnieje przykład, jak to zrobić w czystych adnotacjach typu hibernacja? Czy mogę mieszać hibernację z adnotacjami jpa? Korzystam z adnotacji jpa dla moich jednostek i używam Hibernate.cfg.xml do skonfigurowania źródła danych? – jonney

+0

@jonney: Zobacz http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/. Możesz łączyć adnotacje Hibernate i JPA według własnego uznania. – axtavt

-2

appliesTo to nazwa zawierająca tabelę docelową:

@Table(appliesTo="user") 
Powiązane problemy