在hibernate中如何通过对象找到对应的表呢?

当然POJO和表是通过.hbm.xm映射文件实现的 那我如何获取到对象对应的表呢?

[code="java"]
public class HibernateConfigurationHelper {

   private static Configuration hibernateConf = new Configuration(); 

   private static PersistentClass getPersistentClass(Class clazz) { 

          synchronized (HibernateConfigurationHelper.class) { 

                 PersistentClass pc = hibernateConf.getClassMapping(clazz.getName()); 

                 if (pc == null) { 

                        hibernateConf = hibernateConf.addClass(clazz); 

                        pc = hibernateConf.getClassMapping(clazz.getName()); 

                 } 

                 return pc; 

          } 

   } 

   public static String getTableName(Class clazz) { 

          return getPersistentClass(clazz).getTable().getName(); 

   } 

   public static String getPkColumnName(Class clazz) { 

          return getPersistentClass(clazz).getTable().getPrimaryKey() 

                        .getColumn(0).getName(); 

   } 

}

[/code]

这样可以

不是还有hibernate.cfg.xml嘛?
从这个配置文件中找到数据库连接,用户名和密码
再根据.hbm.xm映射文件中

这个table就是表名

你是要在程序中使用这个表名么?为何不给POJO加个属性

hibernate的底层是用PersistentClass来真正做映射的,你只要把握一点,你想要得到原生态的东西,得到PersistentClass对象就可以了。
欢迎采纳 有不懂的站内问我。