当然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对象就可以了。
欢迎采纳 有不懂的站内问我。