How do I get the table name for a model in Hibernate?
Apparently there used to be a getTableName()
method in ClassMetadata, but it\'s been removed.
Since getClassMetadata method is deprecated. Try something like this.
Configuration configuration = new Configuration();
configuration.configure();
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().configure().build();
Metadata = new MetadataSources(standardRegistry).getMetadataBuilder().build();
SessionFactory sessionFactory = configuration.buildSessionFactory();
String tableName=Metadata.getEntityBinding(entityName).getQualifiedTableName().toString();
Configuration cfg = new Configuration().configure();
cfg.addResource("com/struts/Entities/User.hbm.xml");
cfg.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
Mappings m=cfg.createMappings();
System.out.println(">> class: "+m.getClass(className));
System.out.println("User table name:: "+m.getClass("User").getTable().getName());