2014-02-04 3 views
1

Существуют ли ограничения/проблемы при использовании CreateSQLQuery? Следует ли нам избегать использования CreateSQLQuery, или это нормально использовать в некоторых особых случаях? Что происходит с hibernate -cache, я думаю, что спящий режим не получает такого рода изменений?Возможные проблемы в NHibernate CreateSQLQuery

+0

Вы спрашиваете, анализирует ли NHibernate строку, переданную в 'CreateSQLQuery', чтобы она могла поддерживать состояние? ... Я бы сказал, нет .. –

+0

Я не уверен, как Hibernate обрабатывает вызовы базы данных внутри, я думаю, что Hibernate имеет что-то вроде кеша, и если я использую SQL, я делаю недействительным кеш ... так что мабы что-то случилось? – user3244392

ответ

1

Вы должны действительно использовать CreateSQLQuery как последнее средство, поскольку оно обходит большинство функций NHibernate. Это эффективный вызов ADO.NET в середине вашей системы ORM.

Кроме того, вы теряете выгоду от NHibernate, генерируя ваш SQL (и тем самым делая его независимым от базы данных).

Если возможно, попробуйте создать запрос HQL.

+0

Является ли независимость базы данных единственным преимуществом? – user3244392

Смежные вопросы