Я знаю, что вы уже приняли ответ, но все равно хотели добавить мой 2с.
Прежде всего, вы в одном из ваших комментариев:
Заявка будетиметь более 300 столбцов
Вот и все.Если то, что вы делаете, это отчеты, не используйте ORM, если это не отчеты, то я бы сказал, что ваша база данных очень плохо спроектирована, нет причин иметь 300 столбцов.Я не знаю Oracle, но в SQL Server вы бы понесли производительность из столбцов, находящихся на отдельных страницах, в строку, если длина строки превышает 8 000.
Сгенерированные запросы будут массовыми.Вам лучше использовать хранимые процедуры и не использовать ORM.
, но я пытался использовать сущность из 4 столбцов, и для вставки 100 строк потребовалось 30 секунд, а для той же вставки потребовалось 2-3секунд с обычными запросами вставки pl / sql
Существует множество причин, по которым это может произойти.Если вы генерируете идентификацию в базе данных, тогда NHibernate должен добавить другой выбор, чтобы получить Id для применения к только что вставленной модели.
Разрешение NHibernate генерировать идентификацию может ускорить процесс, либочерез HiLo или Guid / GuidComb.
Открытие нового сеанса для каждой вставки также может быть дорогостоящим при добавлении, повторное использование одного и того же сеанса для вставок и пакетирование вставок вместе вместо отправки отдельных операторов,(опять же, я не знаю, поддерживает ли Oracle пакетирование, например, SQL Server)
В любом случае, вы не предоставили код для показа своего теста, чтобы кто-нибудь мог показать, почему он был медленным для вас.NH хорошо работает для 99% потребностей людей.