java中,如何通过实体类名称获取对应的数据表名称?

hibernate映射数据表的时候,实体类是通过注解@Entity(name = "XXXX")的方式来映射数据表,请问,Java如何通过实体类名称获取对应的数据表名称?

阅读 12k
1 个回答

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

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

Class<?> cls = Class.forName("com.papapa.XXXX"); //或直接XXXX.class
String name = cls.getAnnotation(Entity.class).name();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题