我想在运行时检索配置文件中指定的“dialect”和“connection.driver_class”属性的值。
你知道怎么做吗?
非常感谢, 尼古拉
答案 0 :(得分:19)
我发现了其他一些只需要引用ISessionFactory的ISession的方法。
来自ISession:
public static Dialect GetDialect(ISession session)
{
Dialect dialect = session.GetSessionImplementation().Factory.Dialect;
return dialect;
}
来自ISessionFactory:
public static Dialect GetDialect(ISessionFactory sessionFactory)
{
var implementor = sessionFactory as ISessionFactoryImplementor;
Dialect dialect = implementor.Dialect;
return dialect;
}
答案 1 :(得分:4)
当您构建Configuration对象并加载XML并最终构建SessionFactory时,请继续使用您拥有的Configuration对象引用。
您可以使用您拥有的Configuration引用的Properties对象,或者您可以执行类似Dialect.GetDialect(_configuration.Properties)的操作。