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.
You can get every tables name in your project with this function :
public Set getTablesName() {
Set names = new HashSet<>();
SessionFactory sessionFactory = emf.unwrap(SessionFactory.class);
Map classMetadataMap = sessionFactory.getAllClassMetadata();
for (ClassMetadata classMetadata : classMetadataMap.values()) {
AbstractEntityPersister aep = (AbstractEntityPersister) classMetadata;
String tableName = aep.getTableName();
if (StringUtils.isBlank(tableName) || StringUtils.containsWhitespace(tableName)) {
continue;
}
names.add(tableName);
}
return names;
}