从POJO获取带注释的hibernate tablename

nik*_*ers 13 java entity dao hibernate

我有一个声明大致如下的实体:

@Entity
@Table(name = "myUserTable")
public class User implements Serializable { ... }
Run Code Online (Sandbox Code Playgroud)

我正在制作一个通用的DAO类,并且这样做我想要检索"myUserTable"名称.有什么办法可以达到这个名字吗?

ska*_*man 27

使用一般反射很容易:

import javax.persistence.Table;

.....

Class<?> c = User.class;
Table table = c.getAnnotation(Table.class);
String tableName = table.name();
Run Code Online (Sandbox Code Playgroud)


n00*_*13f 8

类似于从Hibernate中的模型获取表名

Table table = Entity.class.getAnnotation(Table.class);
String tableName = table.name();
Run Code Online (Sandbox Code Playgroud)