2009-08-24 4 views
11

Ich habe eine Einheit, die wie etwa deklariert ist:Get kommentierten Hibernate Tabellenname von POJO

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

ich eine generische DAO-Klasse zu machen, und dabei möchte ich die „myUserTable“ name abrufen . Kann ich diesen Namen irgendwie erreichen?

Antwort

22

Leicht genug allgemeine Überlegungen mit:

import javax.persistence.Table; 

..... 

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

Hmm .... Ich konnte nicht name() in org.hibernate.annotations.Table finden. Betrachte ich den richtigen Tischkurs? – niklassaers

+0

Nein, Sie betrachten die Hibernate-Proprietary-Erweiterungen für JPA. Sie benötigen javax.persistence.Table. – skaffman