下面列出了org.hibernate.SessionFactory#getAllClassMetadata ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* 获取所有数据表
*
* @return
*/
public List<DBTable> getAllDbTableName() {
List<DBTable> resultList = new ArrayList<DBTable>();
SessionFactory factory = getSession().getSessionFactory();
Map<String, ClassMetadata> metaMap = factory.getAllClassMetadata();
for (String key : (Set<String>) metaMap.keySet()) {
DBTable dbTable = new DBTable();
AbstractEntityPersister classMetadata = (AbstractEntityPersister) metaMap
.get(key);
dbTable.setTableName(classMetadata.getTableName());
dbTable.setEntityName(classMetadata.getEntityName());
Class<?> c;
try {
c = Class.forName(key);
JeecgEntityTitle t = c.getAnnotation(JeecgEntityTitle.class);
dbTable.setTableTitle(t != null ? t.name() : "");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
resultList.add(dbTable);
}
return resultList;
}
/**
* 获取所有数据表
*
* @return
*/
public List<DBTable> getAllDbTableName() {
List<DBTable> resultList = new ArrayList<DBTable>();
SessionFactory factory = getSession().getSessionFactory();
Map<String, ClassMetadata> metaMap = factory.getAllClassMetadata();
for (String key : (Set<String>) metaMap.keySet()) {
DBTable dbTable = new DBTable();
AbstractEntityPersister classMetadata = (AbstractEntityPersister) metaMap
.get(key);
dbTable.setTableName(classMetadata.getTableName());
dbTable.setEntityName(classMetadata.getEntityName());
Class<?> c;
try {
c = Class.forName(key);
JeecgEntityTitle t = c.getAnnotation(JeecgEntityTitle.class);
dbTable.setTableTitle(t != null ? t.name() : "");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
resultList.add(dbTable);
}
return resultList;
}
public IModelStructure build() {
IModelStructure dataMartStructure;
List<IDataSourceConfiguration> subConfigurations;
String datamartName;
Map classMetadata;
dataMartStructure = new ModelStructure();
dataMartStructure.setName( getDataSource().getName() );
propertiesInitializer.addProperties(dataMartStructure);
subConfigurations = getDataSource().getSubConfigurations();
for(int i = 0; i < subConfigurations.size(); i++) {
datamartName = subConfigurations.get(i).getModelName();
Assert.assertNotNull(getDataSource(), "datasource cannot be null");
SessionFactory sf = getDataSource().getHibernateSessionFactory(datamartName);
if(sf == null) {
throw new MissingResourceException("Impossible to find the jar file associated to datamart named: [" + datamartName + "]"
, SessionFactory.class.getName()
, datamartName );
}
Map calculatedFields = subConfigurations.get(i).loadCalculatedFields();
dataMartStructure.setCalculatedFields(calculatedFields);
classMetadata = sf.getAllClassMetadata();
for(Iterator it = classMetadata.keySet().iterator(); it.hasNext(); ) {
String entityType = (String)it.next();
addEntity(dataMartStructure, datamartName, entityType);
}
}
return dataMartStructure;
}
private void loadSystemTableList(SessionFactory sessionFactory) {
Map<String, ClassMetadata> allClassMetadata = sessionFactory.getAllClassMetadata();
allClassMetadata.forEach((key, value) -> {
AbstractEntityPersister abstractEntityPersister = (AbstractEntityPersister) value;
SYSTEM_TABLE_LIST.add(abstractEntityPersister.getTableName());
});
}
/**
* 获取所有数据表
*
* @return
*/
public Integer getAllDbTableSize() {
SessionFactory factory = getSession().getSessionFactory();
Map<String, ClassMetadata> metaMap = factory.getAllClassMetadata();
return metaMap.size();
}
/**
* 获取所有数据表
*
* @return
*/
public Integer getAllDbTableSize() {
SessionFactory factory = getSession().getSessionFactory();
Map<String, ClassMetadata> metaMap = factory.getAllClassMetadata();
return metaMap.size();
}