Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Hibernate (NHibernate) и хранимки в Oracle / 5 сообщений из 5, страница 1 из 1
24.09.2009, 22:42
    #36216141
barser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate (NHibernate) и хранимки в Oracle
Подскажите, пожалуйста, насколько жизнеспособен вариант разработки новой системы на базе Hibernate, если одним из условий заказчика является (удобный) вызов хранимых процедур. Несмотря на то, что в документации к Hibernate вроде бы приводится пример использования , на практике заставить это работать так и не удалось (в NHibernate 2.1.0 по крайней мере). В Инете встречается информация о баге с SYS_REFCURSOR , обнаруженном уже несколько лет назад, но до сих пор неисправленном.
Буду благодарен за пример вызова любой самой примитивной хранимки, возвращающей курсор, который Hibernate поймет и преобразует в коллекцию объектов... Ну или хотя бы просто поймет :)
Видел предложение использовать для запуска функциональность ADO.NET с добавлением в ISession.Transaction.Enlist(), но как-то это нехорошо... Пока что еще есть возможность выбора и хотелось бы сделать поудобнее. Также вот встретилось мнение , что для работы с хранимками лучше подойдет iBATIS.
И насколько верным является утверждение, что при разработке современных систем стоит избегать использования хранимых процедур?
Может быть еще какие разумные варианты существуют?
Спасибо за внимание!
...
Рейтинг: 0 / 0
24.09.2009, 23:00
    #36216160
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate (NHibernate) и хранимки в Oracle
barser wrote:
> Подскажите, пожалуйста, насколько жизнеспособен вариант разработки новой
> системы на базе Hibernate, если одним из условий заказчика является
> (удобный) вызов хранимых процедур. Несмотря на то, что в документации к
> Hibernate вроде бы приводится пример использования

Как бы ORM -- это маппинг объектов на таблицы. А из процедур можно
выдавать всё, что угодно. Т.е. это просто лишено смысла.
Хранимые процедуры -- для реализации бизнес -- логики. Среднее звено
на Хибере --- тоже. Ну, вы же не будете делать и так, и так. Либо одно,
либо другое.

Всё будет ОК только в одном случае: если Hibernate не трогает процедуры,
и процедуры не трогают Hibernate.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.09.2009, 23:12
    #36216172
barser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate (NHibernate) и хранимки в Oracle
MasterZiv, спасибо Вам за ответ!
Хранимки нужны, так как в них хранится вся бизнес-логика, унаследованная от предыдущего проекта. Выходит, или переносить логику на C#/Java, или отказываться от hibernate...
А еще провели несколько тестов - производительность работы через хранимки оказалась существенно быстрее, чем в неоптимизированном хибере...
...
Рейтинг: 0 / 0
25.09.2009, 07:17
    #36216389
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate (NHibernate) и хранимки в Oracle
barser,

хранимка всегда быстрее ОРМа
...
Рейтинг: 0 / 0
25.09.2009, 10:24
    #36216606
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate (NHibernate) и хранимки в Oracle
На мой взгляд ORM в нынешнем виде оправданы только в двух случаях: нет толкового базаданщика;нужна переносимость.Разработку они не упрощают и имеют массу недостатков.Дополнительные тормоза еще в том,что кроме не оптимальных запросов(без слез на них смотреть нельзя) они делают полную выборку всех полей и всего графа объектов,а поскольку разным пользователям нужны разные срезы данных,начинаются пляски с бубнами - ленивая загрузка.И тд,перечислять можно долго.
Одна из крайних точек зрения - The Vietnam of Computer Science
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Hibernate (NHibernate) и хранимки в Oracle / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]