//cfg是Configuration, className是持久化类名
PersistentClass classMapping = cfg.getClassMapping(Class.forName(className));String tableName = classMapping.getTable().getName();// 注意:此方法未经证实可用
String columnName = classMapping.getTable().getColumn(
    classMapping.getProperty(propertyName).getColumnSpan()).getName();// 此方法已证实可用。
// 在hiberantte一个属性可能对应多个字段,很bt
for (Iterator it = classMapping.getProperty(propertyName).getColumnIterator(); it.hasNext();)
{
    columnName = ((Column)it.next()).getName();
    //取第一个就够了
    break;
}// 注意:主键不能用getProperty方法获得!
// 因此要用PersistentClass.getIdentifier()和相关方法// last,更多使用细节,请自行阅读hibernate的api文档。