package frame.object.meta;
|
|
import java.sql.ResultSetMetaData;
|
|
import frame.persist.IMetaDataLoader;
|
import frame.persist.NamedSQL;
|
import frame.persist.SQLRunner;
|
import frame.persist.loader.ResultMetaFieldReader;
|
|
|
public class EntityMetaLoader implements IMetaDataLoader {
|
|
private String metaName;
|
private EntityMeta entityMeta;
|
|
|
public EntityMetaLoader() {
|
}
|
|
public EntityMeta getEntityMetaByTable(String tableName) throws Exception {
|
this.metaName = tableName;
|
|
String sql = "select * from " + tableName + " where 1 <> 1";
|
SQLRunner.getTableMetaData(this, sql);
|
return entityMeta;
|
}
|
|
public EntityMeta getEntityMetaByNamedSQL(NamedSQL namedSQL) throws Exception {
|
this.metaName = namedSQL.getName();
|
|
SQLRunner.getTableMetaData(this, namedSQL.getSQL());
|
return entityMeta;
|
}
|
|
public void load(ResultSetMetaData metaData) throws Exception {
|
ResultMetaFieldReader fieldReader = new ResultMetaFieldReader(metaData);
|
entityMeta = new EntityMeta(metaName, fieldReader);
|
}
|
|
}
|