从 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