从 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 获取注解休眠表名的主要内容,如果未能解决你的问题,请参考以下文章

利用HibernateTools从数据库表生成带注解的POJO

获取所有数据库名表名字段名

从 java pojo 类生成休眠查询

SQl查询数据库表名表的列名数据类型主键

如何使用休眠和旧版数据库从 char 字段 pojo 中修剪空格

使用SQL Server和Mysql查询所有数据库名表名和字段名