Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 15.10.2007
Сообщений: 22
1

Hibernate vs. iBATIS SQL MAPS

22.08.2010, 19:02. Показов 3575. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги, возникла необходимость решить какой Framework использовать.
Hibernate или iBATIS SQL MAPS. Есть ли есть какие то доводы в пользу одного или против другого - просьба высказываться.

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2010, 19:02
Ответы с готовыми решениями:

Google maps api SQL + GEO
Дорогие киберфорумчане! Есть проблемка, написал скрипт по гугловским гайдам. В конструкции два...

Hibernate И/ИЛИ SQL
Здравствуйте! Вопрос такой: стоит ли описывать всю базу через Java код (и вообще возможно ли...

SQL Server & Hibernate
Возникла проблема с созданием логинов и пользователей средствами SQL Server. Есть заранее...

Hibernate. Как это будет в SQL
Здравствуйте. У меня есть запросы Hibernate 1.Criteria crit = sess.createCriteria(Cat.class);...

10
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
23.08.2010, 13:39 2
когда я их сравнивал, то пришел к следующим выводам:

1. iBatis ближе к SQL, так что если вам необходим полный контроль над запросами и очень точные настройки под конкретную базу (оптимизация и хинты в теле запросов), то это ваш выбор. все запросы хранятся в отдельных файлах, легко получить доступ, довольно легко все параметры для запроса байндятся.

2. Hibernate - все-таки он ORM layer, так его и использовать нужно так. Работа идет с доменной моделью, без impedance mismatch, когда вы переходите от объектов приложения к размещению их в базе. Есть возможность добраться напрямую к базе, но если это будет постоянно происходить, то удобнее смотреть пункт 1.
0
0 / 0 / 0
Регистрация: 28.08.2010
Сообщений: 42
28.08.2010, 22:58 3
Мы сейчас тоже перед тем же вопросом: но похоже что у Хибернета ограничений больше чем у Батиса ( в плане сранения HQL и SQL).иБатис мне кажется сможет отмапить самый сложный запрос написанный на сял. Кстати, наши партнеры мигрируют со Спринг-Хибернет на Спринг-иБатис, по той же причине: база у них ну очень сложная
У меня вопрос может немного в сторону от темы: кто-нить может поделиться примером интеграции Спринг&иБатис? Был бы очень благодарен за это!
0
0 / 0 / 0
Регистрация: 15.10.2007
Сообщений: 22
28.08.2010, 23:06  [ТС] 4
Я в конце концов принял решение использовать iBATIS DAO + iBATIS SQL MAPS. Если что то пойдет не так то тогда просто заменю реализацию SQL MAPS на Hibernate, оставив DAO интерфейсы. Правда у меня не Spring а Struts но как я понимаю там не большая разница. Суть остается та же - MVC.

Кстати у меня тоже сложилось ощущение что hibrnate тяжелее и менее гибкий.
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
29.08.2010, 19:51 5
Struts - технология презентации веб уровня больше. Spring - технология интеграции всех компонентов и сервисов приложения и их конфигурации. для Spring Struts является всего лишь еще одной моделью View (наряду с Spring MVC, Velocity, XSLT, etc.).

а про 'тяжелее' (о Хибернате). Вы попробуйте, как это все работает со Spring. Что может выть легче одной строчки?
Java
1
2
3
4
5
 public List findOrdersPlacedByUser(final String userName) {
 
        String hql = 'from Order o join o.orderLineItems where o.userName = :userName order by o.id ';
        return getHibernateTemplate().find(hql, userName, Hibernate.STRING);
}
0
0 / 0 / 0
Регистрация: 28.08.2010
Сообщений: 42
31.08.2010, 08:23 6
mr_dronski
А можешь поделиться примером Spring-iBatis интеграцией: applicationContext.xml, <>DaoImpl.java, service class который использует DAO.
Буду очень благодарен!
0
0 / 0 / 0
Регистрация: 15.10.2007
Сообщений: 22
31.08.2010, 08:26  [ТС] 7
Могу, только я не совсем поянл что тебе нужно

Пиши на alexander_garbuz{ at } mail.ru

пока тестовый пример лежит вот тут http://j-site.org
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
31.08.2010, 10:48 8
могу обратить Ваше внимание на такую штуку, как AppFuse. это уже готовый костяк (файлы конфигурации и структура каталогов с библиотеками) типичного приложения с использованием Spring, Struts, Hibernate, iBatis (комбинировать по своему усмотрению .

смотреть тут:

http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse

http://raibledesigns.com/page/rd?anchor=appfuse_refactorings_part_iv_replacing

в целом, источник надежный. этот чел также написал книгу по Spring и хорошо представляет, что делает
0
0 / 0 / 0
Регистрация: 28.08.2010
Сообщений: 42
31.08.2010, 13:11 9
Мне в принципе нужно посмотреть на особенности конфигурации springovskogo applicationContext.xml + отличия (если есть) от DAO implementation class и сервис classa. Kak standalon iBatis работает я разобрался. Ну а вот в паре со Спрингом...
Thanks a lot for http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse, сначала гляну на етот пример.

mr_dronski
Еще раз огромное спасибо за ценную наводку!
0
0 / 0 / 0
Регистрация: 28.08.2010
Сообщений: 42
01.09.2010, 10:26 10
mr_dronski
Ну очень полезная ссылка, в тему и вовремя!!! СПАСИБО!!!

Хочу предупредить всех кто будет рассматривать AppFuse как пример интеграции : код написан под iBatis 1.3.1. С версией iBatis 2.0 надо DaoImplementation сабклассить от org.springframework.orm.ibatis.support.SqlMapClientDaoSupport, а не от org.springframework.orm.ibatis.support.SqlMapDaoSupport.
0
Tops
11.12.2011, 12:30 11
Цитата Сообщение от onsh76
mr_dronski
А можешь поделиться примером Spring-iBatis интеграцией: applicationContext.xml, <>DaoImpl.java, service class который использует DAO.
Буду очень благодарен!
Это наверное уже не актуально для вас - сами нашли, но все таки... (+ для людей ищущих решение в данный момент)

Вобщем, пример с интеграцией Ibatis-Spring есть в новой версии Spring 1.2.5 (samplesjpetstore) - все очень понятно описано.

www.springframework.org
11.12.2011, 12:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2011, 12:30
Помогаю со студенческими работами здесь

Как создать SQL-запросы с параметрами в Hibernate
Здравствуйте! Подскажите пожалуйста как правильно в Hibernate прописать SQL-запрос с...

Java.sql.SQLSyntaxErrorException Hibernate не сохраняет дату
Создаю вэб приложение с помощью Spring, Hibernate, MySQL и Java. Hibernate отказывается сохранять...

Как подключить географические карты типа Google Maps или Open street maps в своё приложение
Всем доброго времени суток. Вопрос такой: как подключить географические карты типа Google Maps или...

Hibernate org.hibernate.HibernateException: Wrong column type
В модели было поле weight с типом double. Поменял на Integer и соответственно поменял в БД...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru