从 POJO 获取注解休眠表名

Posted

技术标签:

【中文标题】从 POJO 获取注解休眠表名【英文标题】:Get annotated hibernate tablename from POJO 【发布时间】:2010-11-22 04:40:14 【问题描述】:

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

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

我正在创建一个通用的 DAO 类,这样做我想检索“myUserTable”名称。有什么办法可以得到这个名字吗?

【问题讨论】:

【参考方案1】:

使用一般反射很容易:

import javax.persistence.Table;

.....

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

【讨论】:

嗯....我在 org.hibernate.annotations.Table 中找不到 name()。我在看正确的表类吗? 不,您正在查看 JPA 的 Hibernate 专有扩展。你需要 javax.persistence.Table。【参考方案2】:

类似于Get the table name from the model in Hibernate

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

【讨论】:

以上是关于从 POJO 获取注解休眠表名的主要内容,如果未能解决你的问题,请参考以下文章