Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, что в тренде? :) / 25 сообщений из 56, страница 1 из 3
07.11.2017, 18:38
    #39549198
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Всем привет!

По следам фреймворка spring пришел к hibernate. И тут началось...
Старенькое конфигурирование спринговых xml вперемешку с аннотациями, hibernate.cfg.xml и *.hbm.xml файлы, persistence.xml.
Да что же это за зверь-то такой, где у него хвост и голова???

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

Написал кучу хелловорлдов, и остался крайне недоволен.

Подскажите пожалуйста, пошаговую литературу с современным подходом использования hibernate, с конкретными примерами.
...
Рейтинг: 0 / 0
07.11.2017, 19:21
    #39549216
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Imperousследам фреймворка spring пришел к hibernate. И тут началось...
)).
Надо так:
Спринг без хибера, потом хибер без спринга, потом всё вместе

А вы наборот, первое блюдо смешали со вторым.
Вот и всё.
...
Рейтинг: 0 / 0
07.11.2017, 19:27
    #39549217
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Imperous,
Всё что связано с XML - сразу нафиг
"спринговых xml" - никаких XML. Только Java и немного аннотаций.
hibernate.cfg.xml - нафиг Hibernate API. Только JPA, Hibernate исключительно как реализация.
*.hbm.xml - это вообще допотопное и устаревшее. Маппинг только JPA аннотациями.
persistence.xml - нафиг. Оно только в JEE нужно.

Spring Boot + Spring Data

Вот, вроде, норм пример:
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-jpa/src/main/java/sample/data/jpa
...
Рейтинг: 0 / 0
07.11.2017, 20:14
    #39549231
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
...
Рейтинг: 0 / 0
07.11.2017, 20:35
    #39549237
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
BlazkowiczSpring Boot + Spring Data
Ну, если только он опять не потеряется в бут+спринг+jpa+хибер+бд.
...
Рейтинг: 0 / 0
08.11.2017, 00:31
    #39549292
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
ImperousВсем привет!

По следам фреймворка spring пришел к hibernate. И тут началось...
Старенькое конфигурирование спринговых xml вперемешку с аннотациями, hibernate.cfg.xml и *.hbm.xml файлы, persistence.xml.
Да что же это за зверь-то такой, где у него хвост и голова???
Сразу вброшу несколько поинтов.
1) Вы выхватили одну из самых сложных частей Java/Spring/JPA
2) Да. Большинство примеров в сети - безнадежно устарели.
3) Вы должны знать и понимать как работает реляционная DBMS. Экспертом быть не надо
но вы должны хотя-бы понимать коды ошибок конкретной реализации (PostgreSQL/MySQL e.t.c)
и знать что они означают и как ситуацию фиксить на уровне чистого SQL.

Самый лучший способ узнать Hibernate - это влиться в живой проект и какое-то
время порешать баги или просто посмотреть что народ коммитит.
...
Рейтинг: 0 / 0
08.11.2017, 08:23
    #39549345
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Вопрос конечно интересный.
Нужно ли знать DAO, если спринг всё генерит за вас и абстрагирует).
Думаю всё индивидуально для каждого.
Не получилось понять магию спринга - изучать без спринга (под капотом).
Се ля ви.
...
Рейтинг: 0 / 0
08.11.2017, 08:49
    #39549349
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Мне очень помогла "Изучаем JavaEE 7" Энтони Гонсалвеса (главы 4, 5, 6), посвященные jpa.
Потом читал туториалы на сайте hibernate. Попутно делал небольшие проекты, чтобы набить руку. И, как опупеоз, купил ( JAVA PERSISTENCE API И HIBERNATE ). Но, каюсь, уже месяца 3 как пытаюсь плотно заняться этой книгой, все недосуг :)
...
Рейтинг: 0 / 0
08.11.2017, 09:59
    #39549369
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
maytonСразу вброшу несколько поинтов.
1) Вы выхватили одну из самых сложных частей Java/Spring/JPA
2) Да. Большинство примеров в сети - безнадежно устарели.
3) Вы должны знать и понимать как работает реляционная DBMS. Экспертом быть не надо
но вы должны хотя-бы понимать коды ошибок конкретной реализации (PostgreSQL/MySQL e.t.c)
и знать что они означают и как ситуацию фиксить на уровне чистого SQL.

Самый лучший способ узнать Hibernate - это влиться в живой проект и какое-то
время порешать баги или просто посмотреть что народ коммитит.

SQL вообще не проблема, опыта предостаточно.
...
Рейтинг: 0 / 0
08.11.2017, 10:16
    #39549378
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
ImperousmaytonСразу вброшу несколько поинтов.
1) Вы выхватили одну из самых сложных частей Java/Spring/JPA
2) Да. Большинство примеров в сети - безнадежно устарели.
3) Вы должны знать и понимать как работает реляционная DBMS. Экспертом быть не надо
но вы должны хотя-бы понимать коды ошибок конкретной реализации (PostgreSQL/MySQL e.t.c)
и знать что они означают и как ситуацию фиксить на уровне чистого SQL.

Самый лучший способ узнать Hibernate - это влиться в живой проект и какое-то
время порешать баги или просто посмотреть что народ коммитит.

SQL вообще не проблема, опыта предостаточно.
тогда забей хиюер - меньше проблем. эта прокладка только для тех кто с sql не дружит. чтоб не видно было как обсираются.
...
Рейтинг: 0 / 0
08.11.2017, 10:19
    #39549380
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Usman- Spring Data JPA - Reference Documentation
- Chapter 15. Criteria Queries
- Hibernate Validator ( docs )

на первый взгляд сурово выглядит.
спасибо!
...
Рейтинг: 0 / 0
08.11.2017, 10:20
    #39549383
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
вадя,

та ну как так, врага надо знать в лицо! :)
...
Рейтинг: 0 / 0
08.11.2017, 10:21
    #39549385
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Petro123Нужно ли знать DAO , если спринг всё генерит за вас и абстрагирует).+1.5

DAO / DAL застрял между паттернами Repository и Service Layer (в т.ч. и @Service)
...
Рейтинг: 0 / 0
08.11.2017, 10:32
    #39549396
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Usman DAO / DAL застрял между паттернами Repository и Service Layer (в т.ч. и @Service)

Народ до сих пор по инерции DAO на всё говорит. Даже в недавнем докладе с JUG было SomeDAO extends JpaRepository :)
...
Рейтинг: 0 / 0
08.11.2017, 10:37
    #39549402
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Usmanзастрял между паттернами
Не очень понял эту фразу. Никто нигде не застревал.
DAO - конкретный паттерн. Задача DAO класса инкапсулировать доступ к конкретному способу хранения объекта, в частности JDBC+SQL. С появлением продвинутых API вроде jOOQ и JPA - DAO стал не нужен, так как инкапсулировать там особо нечего уже.
Service Layer aka Transaction Script тоже имеет конкретное предназначение - реализовавать workflow бизнес-логики, а так же основных фасадом приложения, с которым работают пограничные слои.
Задача Repository - инкапсулировать запросы.
Вроде всё просто.

DAO не нужен, так как его польза нивелирована современными библиотеками.
Repository нужен, так как сложные запросы нужно выносить из сервиса.
Вполне логичный тренд.
...
Рейтинг: 0 / 0
08.11.2017, 10:53
    #39549413
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
BlazkowiczНе очень понял эту фразу. Никто нигде не застревал .забыл заключить в кавычки (:BlazkowiczDAO - конкретный паттерн. Не совсем паттерн , на мой взгляд, это нечто среднее между сервисом и репозиторием:
- Repository - это чистый CRUD
- Service - бизнес-логика (иногда я называю - совокупностью репозиториев )

в то время, как DAO может быть и CRUD и одновременно хранить некую бизнес-логику (проверки/валидация и т.д.).

имхо-имховое
...
Рейтинг: 0 / 0
08.11.2017, 11:07
    #39549425
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
BlazkowiczDAO стал не нужен, так как инкапсулировать там особо нечего уже.
Как нечего?
Оно осталось только внутри.
Спринг его спрятал.
Сам спринг ничего не делает).
А основная фича преподносится, что мы можем за jpa заменить хибер чем нибудь другим.
Imho паттерн абстрагироваться через чур сильно везде где ни попадя.
JavaEE этим грешил и помер.
...
Рейтинг: 0 / 0
08.11.2017, 11:09
    #39549426
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Usman,
+1
По мне, лучше чтобы это были 2 ветки. И параллельно развивались.
И спринг не лез особо в ОРМ.
...
Рейтинг: 0 / 0
08.11.2017, 11:29
    #39549444
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Petro123Как нечего?

Вот так. Вся работа с базой и соответствующий boilerplate код уже спрятаны куда подальше.

Petro123Оно осталось только внутри.

Правильно, поэтому зачем это всё заворачивать ещё в один слой?

Petro123А основная фича преподносится, что мы можем за jpa заменить хибер чем нибудь другим.

Это ерунда. Никто не меняет коней наскоку. Меня больше всего умиляло когда спрашиваешь на собеседованиях про MVC и народ распинается, что можно менять реализации слоёв. Никому это нафиг не надо. Никто не будет менять JPA на jOOQ в середине проекта. Так можно любой паттерн описать. Зачем нужен Service Layer*? Ну чтобы в нём написать логику с одними либами, и всегда можно было заменить на логику с другими либами. Ерунда же.
...
Рейтинг: 0 / 0
08.11.2017, 11:34
    #39549451
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
BlazkowiczНикто не меняет коней наскоку
+5
...
Рейтинг: 0 / 0
08.11.2017, 13:06
    #39549506
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Imperousвадя,

та ну как так, врага надо знать в лицо! :)
ну с этим не поспоришь
...
Рейтинг: 0 / 0
08.11.2017, 17:35
    #39549776
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
BlazkowiczImperous,
Всё что связано с XML - сразу нафиг
"спринговых xml" - никаких XML. Только Java и немного аннотаций.
hibernate.cfg.xml - нафиг Hibernate API. Только JPA, Hibernate исключительно как реализация.
*.hbm.xml - это вообще допотопное и устаревшее. Маппинг только JPA аннотациями.
persistence.xml - нафиг. Оно только в JEE нужно.

Spring Boot + Spring Data

Вот, вроде, норм пример:
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-jpa/src/main/java/sample/data/jpa
нафиг Hibernate API - в смысле "нафиг"? я же за ним и пришел )

Загрузил весь проект, ох там конечно примеров, гора целая.
Может я чего-то не понял, но в указанном примере Hibernate - нет. Просмотрел, но пока не дощупал...
Спасибо!
...
Рейтинг: 0 / 0
08.11.2017, 17:54
    #39549794
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Imperousнафиг Hibernate API - в смысле "нафиг"? я же за ним и пришел )

Не нужно игнорировать непонятные термины. Нужно их изучать. API это то что вы используете в своём коде. А "реализация" это то что работает когда ваш код выполняется. Так вот Hibernate API вам для начала не нужен. А нужен JPA API. А Hibernate вам нужен только как JPA реализация.

ImperousЗагрузил весь проект, ох там конечно примеров, гора целая.
Ну, я же дал ссылку только на Spring Data JPA. Небольшой полноценный Hello World того что вы ищете.

ImperousМожет я чего-то не понял, но в указанном примере Hibernate - нет. Просмотрел, но пока не дощупал...

Да. Он как бы не очевиден.
Но вот тут
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-samples/spring-boot-sample-data-jpa/pom.xml
в зависимостях находится spring-boot-starter-data-jpa
У которого в зависимостях:
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa/2.0.0.M5
находится тот самый Hibernate.
...
Рейтинг: 0 / 0
08.11.2017, 19:38
    #39549856
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
Imperousно в указанном примере Hibernate - нет.
Выше про DAO и ОРМ маппинг читали посты?
За спрингом это сложно осознать.
Выбирайте варианты и дерзайте).
Удачи!
...
Рейтинг: 0 / 0
09.11.2017, 00:48
    #39549964
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate, что в тренде? :)
вадяImperousпропущено...


SQL вообще не проблема, опыта предостаточно.
тогда забей хиюер - меньше проблем. эта прокладка только для тех кто с sql не дружит. чтоб не видно было как обсираются.
Эй это было грубо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate, что в тренде? :) / 25 сообщений из 56, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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