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

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

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

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

【问题讨论】:

    标签: java hibernate entity dao


    【解决方案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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2013-09-29
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多