2009-08-24 15 views
11

Ho un'entità che viene dichiarata o meno così:Get annotato nometabella hibernate da POJO

@Entity 
@Table(name = "myUserTable") 
public class User implements Serializable { ... } 

Sto facendo una classe DAO generica, e così facendo mi piacerebbe recuperare il nome "myUserTable" . C'è un modo per raggiungere questo nome?

risposta

22

Abbastanza facile utilizzando riflessione generale:

import javax.persistence.Table; 

..... 

Class<?> c = User.class; 
Table table = c.getAnnotation(Table.class); 
String tableName = table.name(); 
+0

Hmm .... non riuscivo a trovare il nome() in org.hibernate.annotations.Table. Sto guardando la classe del tavolo giusto? – niklassaers

+0

No, stai guardando le estensioni proprietarie di Hibernate a JPA. Hai bisogno di javax.persistence.Table. – skaffman

Problemi correlati