Получить аннотированное спящее имя таблицы из POJO - PullRequest
13 голосов
/ 24 августа 2009

У меня есть объект, который объявлен примерно как:

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

Я делаю общий класс DAO, и при этом я хотел бы получить имя myUserTable Есть ли способ, которым я могу достичь этого имени?

Ответы [ 2 ]

27 голосов
/ 24 августа 2009

Достаточно просто, используя общее отражение:

import javax.persistence.Table;

.....

Class<?> c = User.class;
Table table = c.getAnnotation(Table.class);
String tableName = table.name();
8 голосов
/ 24 августа 2009

Аналогично Получить имя таблицы из модели в Hibernate

Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();
...