Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Hibernate


Автор: RebornCrusader 20.11.2007, 13:29
Намечается реинкарнация одного проекта, большая часть которого - база данных. Ранее использовался EJB, но стало очевидным то, что сложная бизнес-логика на сервере не нужна. Встал вопрос о применимости Hibernate для решения задачи (и вроде он как-то "дружит" с EJB 3.0) и том, с чего собственно стоит начать изучение.
Есть следующие потребности: 
  • 10-20 типов сущностей, при этом иметь возможность наследования типов (расширение за счёт добавления полей)
  • работа в том числе с изображениями небольшого объёма (до десятков килобайт)
  • возможность как-то контролировать процесс экстернализации в базу, пример: два целочисленных поля в базе на верхнем уровне представляются как единый объект - координата точки (необходимо в случае доступа к базе посредством других технологий из других программ)
СУБД - желательно PostgreSQL, других явных ограничений нет.

Возможно ли решить эти задачи с привлечением Hibernate и какую литературу посоветуете? smile 

Автор: powerOn 20.11.2007, 13:48
Цитата(RebornCrusader @  20.11.2007,  13:29 Найти цитируемый пост)
Hibernate для решения задачи (и вроде он как-то "дружит" с EJB 3.0) 

ну тогда уж JPA, можно на Hibernate-вском engine. Если JPA, то посоветую http://jcp.org/aboutJava/communityprocess/final/jsr220/index.html

Автор: AntonSaburov 20.11.2007, 13:48
Hibernate для EJB 3 может быть использован как "движок". Но если есть желание (возможность, необходимость) использовать EJB 3, то на мой взгляд Hibernate вообщем-то уже не очень нужен.

А начать - лучше взять документацию, которая идет (PDF) и начать читать с самого начала - наверно лучшего посоветовать не смогу.

Автор: RebornCrusader 20.11.2007, 14:02
Нет, совместимость с EJB 3 рассматривается только как полезный бонус. Я правильно понял, приведённые мной задачи с помощью Hibernate решаются?

Какая именно документация? Hibernate Core for Java http://www.hibernate.org/5.html?

Я тут ещё раскопал тут подборочку:
Цитата

Addison.Wesley,.Hibernate.A.J2EE.Developers.Guide.(2004).LiB.chm
Agile_Java_Development_with_Spring,_Hibernate,_and_Eclipse_(Sams-2006).chm
eBook.OReilly.Hibernate.A.Developers.Notebook.pdf
Java Open Source Programming with Xdoclet, JUnit, WebWork, Hibernate.pdf
O'reilly - Hibernate A Developer's Notebook.pdf
Sams.Agile.Java.Development.with.Spring.Hibernate.and.Eclipse.May.2006.pdf
Wiley - Java Open Source Programming (with XDoclet, JUnit, WebWork, Hibernate) - 2004 !!! - (By L.pdf

Может быть имеет смысл начать с какой-то из этих книг? И вообще я бы лучше приобрёл что-то бумажное, если оно того стоит.

Автор: Maksym 20.11.2007, 23:07
RebornCrusader
Книжки по Hibernate -- http://forum.vingrad.ru/index.php?showtopic=34063&view=findpost&p=1295496 заливал.

Автор: Vasay 21.11.2007, 00:09
RebornCrusader, 

ИМХО Как уже сказал powerOn лучше использовать JPA, 

Помимо ссылки данной  powerOn,
рекомендую пойти на сайт SUN и почитать доки. http://java.sun.com/javaee/5/docs/tutorial/doc/bnbpy.html

Хочу заметить, что SUN продвигает связку JPA-TopLink, а не JPA-Hibernate, хотя, это не сильно влияет на процесс разработки.

Автор: Maksym 21.11.2007, 00:19
По JPA http://java.sun.com/developer/technicalArticles/J2EE/jpa/ article неплохой в тему.

Автор: RebornCrusader 21.11.2007, 05:15
Что ж, я понимаю это уже стандартное API. Не совсем понятно пока его отношение с EJB и Hibernate, но на на них свет клином не сошёлся. В любом случае всем спасибо.

Автор: powerOn 21.11.2007, 13:07
Цитата(RebornCrusader @  21.11.2007,  05:15 Найти цитируемый пост)
Не совсем понятно пока его отношение с EJB и Hibernate,

С EJB отношение такое, что ты можешь через аннотации получить ссылку на EntityManager. А Hibernate может быть движком для JPA. JPA - это спецификация, по которому должны работать ORM фреймворки. Hibernate имеет реализацию этой спецификации. (Считай что JPA - определяет интерфейсы и поведение, а Hibernate реализует эти интерфейсы с учётом требуемого поведения.) Ты всегда можешь поменять один ORM движок на другой (например перейти с Hibernate на TopLink)  без сильных изменений в программе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)