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


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

hibernate java

楒六- 10 years, 1 month ago

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

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


 Class<?> cls = Class.forName("com.papapa.XXXX"); //或直接XXXX.class
String name = cls.getAnnotation(Entity.class).name();

dg34513 answered 10 years, 1 month ago

Your Answer