В последнем проекте решили использовать Spring + Hibernate, в том числе и для получения experience.
Проект — web application + standalone server
От Spring впечатления самые хорошие, а вот у Hibernate learning curve нам показался очень некомфортным, я бы даже сказал — больше проблем огребли чем решили Как реально сколько нибудь большую модель данных использовать с Hibernate и сохранить независимость слоев пока не ясно. Вслед за lazy loading ползет куча граблей, необходимость следить за сессией, использовать транзакции итд. Имеющаяся литература — Hibernate in Action не изобилует реальными примерами а носит некий напыщенно академический характер... 8(
А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
Здравствуйте, Аноним, Вы писали:
А>В последнем проекте решили использовать Spring + Hibernate, в том числе и для получения experience. А>Проект — web application + standalone server А>От Spring впечатления самые хорошие, а вот у Hibernate learning curve нам показался очень некомфортным, я бы даже сказал — больше проблем огребли чем решили Как реально сколько нибудь большую модель данных использовать с Hibernate и сохранить независимость слоев пока не ясно. Вслед за lazy loading ползет куча граблей, необходимость следить за сессией, использовать транзакции итд. Имеющаяся литература — Hibernate in Action не изобилует реальными примерами а носит некий напыщенно академический характер... 8( А>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
А можно полюбопытствовать на счет Spring. Для чего вы использовали Spring в вашем проекте, хотел давно посмотреть в сторону Spring но как-то руки не доходили
спасибо
Здравствуйте, Аноним, Вы писали:
А>В последнем проекте решили использовать Spring + Hibernate, в том числе и для получения experience. А>Проект — web application + standalone server А>От Spring впечатления самые хорошие, а вот у Hibernate learning curve нам показался очень некомфортным, я бы даже сказал — больше проблем огребли чем решили Как реально сколько нибудь большую модель данных использовать с Hibernate и сохранить независимость слоев пока не ясно. Вслед за lazy loading ползет куча граблей, необходимость следить за сессией, использовать транзакции итд. Имеющаяся литература — Hibernate in Action не изобилует реальными примерами а носит некий напыщенно академический характер... 8(
Как-то лирично все. А можно конкретно про проблемы? Жуть интересно, опыта с хибером не много, но пока плохого особо не встречал.
А>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
На джакарте, кажется в коммонсах была утилита для маппинга ResultSet в JavaBean, но при определенной ширине дерева объектов все может выродится в собсвтенный Hibernate.
Здравствуйте, RobinHood, Вы писали:
RH> А можно полюбопытствовать на счет Spring. Для чего вы использовали Spring в вашем проекте, хотел давно посмотреть в сторону Spring но как-то руки не доходили
Здравствуйте, Аноним, Вы писали:
А>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
Есть и попроще решение — iBatis. В отличие от Hibernate, SQL-запросы надо писать ручками, а вот маппинг — автоматический. Используем как раз в связке со Spring. Вполне довольны.
Здравствуйте, Аноним, Вы писали:
А>В последнем проекте решили использовать Spring + Hibernate, в том числе и для получения experience. А>Проект — web application + standalone server А>От Spring впечатления самые хорошие, а вот у Hibernate learning curve нам показался очень некомфортным, я бы даже сказал — больше проблем огребли чем решили Как реально сколько нибудь большую модель данных использовать с Hibernate и сохранить независимость слоев пока не ясно. Вслед за lazy loading ползет куча граблей, необходимость следить за сессией, использовать транзакции итд. Имеющаяся литература — Hibernate in Action не изобилует реальными примерами а носит некий напыщенно академический характер... 8( А>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
Здравствуйте, Аноним, Вы писали:
А>В последнем проекте решили использовать Spring + Hibernate, в том числе и для получения experience. А>Проект — web application + standalone server А>От Spring впечатления самые хорошие, а вот у Hibernate learning curve нам показался очень некомфортным, я бы даже сказал — больше проблем огребли чем решили Как реально сколько нибудь большую модель данных использовать с Hibernate и сохранить независимость слоев пока не ясно.
а в чем суть проблемы,с разделением? ..какое влияние на это может оказать
хибернейт? ..это ор-мапер, инструмент, который, всего лишь, избавляет разработчиков от лишней рутины (..если конечно не писать свой аналог, что еще большая рутина)
А> Вслед за lazy loading ползет куча граблей, необходимость следить за сессией,
можно написать свою лаконичную обертку
А> Имеющаяся литература — Hibernate in Action не изобилует реальными примерами а носит некий напыщенно академический характер...
..может быть, но в референсе, по-моему, вполне достаточно для старта
8( А>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
..сложно сказать, потому как не совсем понятно о чем речь?.. но нам вот например ненужно)
Здравствуйте, Blazkowicz, Вы писали:
B>Как-то лирично все. А можно конкретно про проблемы? Жуть интересно, опыта с хибером не много, но пока плохого особо не встречал.
Когда мы примерно полгода назад пытались использовать хибернейт, у нас тоже остались плохие впечатления.
Проблема номер раз. Как отматить ResultSet хранимой процедуры на дерево обьектов.
Проблема номер два. На нашей WebSphere хибернейт не захотел цепляться к менеджеру транзакций http://opensource2.atlassian.com/projects/hibernate/browse/HHH-198 http://forum.hibernate.org/viewtopic.php?t=935229&highlight=websphere
Еще у нас были проблемы с транзакциями при вызове методов EJB из других EJB. Но сейчас уже не могу сказать конкретно какие.
Если кто нибудь знает как решить первую проблему расскажите пожалуйста.
А>>А если нужно просто приходящие датасеты мапить на Java объекты — наверно можно попроще решение найти, правда пока не знаю что именно.
Здесь уже упоминался простенький фреймворк iBatis. мы используем его у себя в проекте и очень довольны.
RO> а в чем суть проблемы,с разделением? ..какое влияние на это может оказать RO>хибернейт?
при задействованном lazy loading сгенеренный хибером для доменного класса (используется DAO паттерн) прокси оказывается на presentation layer и, например, генерит там SQLException. Неприятно. Конечно, все решаемо — тоже порылись, нашли, initialize sesion in view, итд итп.
вот еще проблема (пока не решили) — можно ли заставить хибернэйт грузить сожержимое коллекции не сразу целиком а частями, по мере надобности?
Здравствуйте, Аноним, Вы писали:
А>вот еще проблема (пока не решили) — можно ли заставить хибернэйт грузить сожержимое коллекции не сразу целиком а частями, по мере надобности?
вроде это называется lazy loading с выставленным параметром fetchsize?