Я хотел бы получить во время выполнения значения для свойств «dialect» и «connection.driver_class», указанные в файле конфигурации.
Вы знаете, как это сделать?
Большое спасибо, Никола





Когда вы создаете объект Configuration, загружаете XML и в конечном итоге создаете SessionFactory, держитесь за имеющуюся ссылку на объект Configuration.
Вы можете использовать объект Properties из имеющейся у вас ссылки на конфигурацию или сделать что-то вроде Dialect.GetDialect (_configuration.Properties).
спасибо за Ваш ответ. Что мне не нравится в этом решении, так это то, что мне нужно сохранять конфигурацию и передавать ее в методах, которым требуется знание диалекта.
Я нашел несколько других способов, которым нужна только ссылка на ISession из ISessionFactory.
Из 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;
}