java通过实体类名称获取对应的数据表名称

来源:互联网 发布:围堰稳定性计算软件 编辑:程序博客网 时间:2024/04/26 18:34


@Entity(name = "XXXX")指定的是实体名称,不是表名,但是实体名称会影响生成的表名(根据命名约定),表名可能也是XXXX了。
如要明确指定表名需要附加一个@Table(...)

如果想根据类名拿到注解里面的name属性,可以用反射来做:

Class<?> cls = Class.forName("com.papapa.XXXX"); //或直接XXXX.classString name = cls.getAnnotation(Entity.class).name();
getSession().createQuery(//    "FROM "+clazz.getAnnotation(Entity.class).name())//    .list();getSession().createQuery(//    "FROM itcast_role")//    .list();*/getSession().createQuery(//    "FROM "+clazz.getSimpleName())//    .list();*/
0 0