|
|
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Всем привет! По следам фреймворка spring пришел к hibernate. И тут началось... Старенькое конфигурирование спринговых xml вперемешку с аннотациями, hibernate.cfg.xml и *.hbm.xml файлы, persistence.xml. Да что же это за зверь-то такой, где у него хвост и голова??? Из того что встречалось - много примеров, все разные, ряд просто устаревших, некоторые настолько дикие, что не верится в то что это вообще правильные примеры. Написал кучу хелловорлдов, и остался крайне недоволен. Подскажите пожалуйста, пошаговую литературу с современным подходом использования hibernate, с конкретными примерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 18:38 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Imperousследам фреймворка spring пришел к hibernate. И тут началось... )). Надо так: Спринг без хибера, потом хибер без спринга, потом всё вместе А вы наборот, первое блюдо смешали со вторым. Вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 19:21 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 19:27 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Imperous, - Spring Data JPA - Reference Documentation - Chapter 15. Criteria Queries - Hibernate Validator ( docs ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 20:14 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczSpring Boot + Spring Data Ну, если только он опять не потеряется в бут+спринг+jpa+хибер+бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 20:35 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
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 - это влиться в живой проект и какое-то время порешать баги или просто посмотреть что народ коммитит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 00:31 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Вопрос конечно интересный. Нужно ли знать DAO, если спринг всё генерит за вас и абстрагирует). Думаю всё индивидуально для каждого. Не получилось понять магию спринга - изучать без спринга (под капотом). Се ля ви. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 08:23 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Мне очень помогла "Изучаем JavaEE 7" Энтони Гонсалвеса (главы 4, 5, 6), посвященные jpa. Потом читал туториалы на сайте hibernate. Попутно делал небольшие проекты, чтобы набить руку. И, как опупеоз, купил ( JAVA PERSISTENCE API И HIBERNATE ). Но, каюсь, уже месяца 3 как пытаюсь плотно заняться этой книгой, все недосуг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 08:49 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
maytonСразу вброшу несколько поинтов. 1) Вы выхватили одну из самых сложных частей Java/Spring/JPA 2) Да. Большинство примеров в сети - безнадежно устарели. 3) Вы должны знать и понимать как работает реляционная DBMS. Экспертом быть не надо но вы должны хотя-бы понимать коды ошибок конкретной реализации (PostgreSQL/MySQL e.t.c) и знать что они означают и как ситуацию фиксить на уровне чистого SQL. Самый лучший способ узнать Hibernate - это влиться в живой проект и какое-то время порешать баги или просто посмотреть что народ коммитит. SQL вообще не проблема, опыта предостаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:59 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
ImperousmaytonСразу вброшу несколько поинтов. 1) Вы выхватили одну из самых сложных частей Java/Spring/JPA 2) Да. Большинство примеров в сети - безнадежно устарели. 3) Вы должны знать и понимать как работает реляционная DBMS. Экспертом быть не надо но вы должны хотя-бы понимать коды ошибок конкретной реализации (PostgreSQL/MySQL e.t.c) и знать что они означают и как ситуацию фиксить на уровне чистого SQL. Самый лучший способ узнать Hibernate - это влиться в живой проект и какое-то время порешать баги или просто посмотреть что народ коммитит. SQL вообще не проблема, опыта предостаточно. тогда забей хиюер - меньше проблем. эта прокладка только для тех кто с sql не дружит. чтоб не видно было как обсираются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:16 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Usman- Spring Data JPA - Reference Documentation - Chapter 15. Criteria Queries - Hibernate Validator ( docs ) на первый взгляд сурово выглядит. спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:19 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
вадя, та ну как так, врага надо знать в лицо! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:20 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Petro123Нужно ли знать DAO , если спринг всё генерит за вас и абстрагирует).+1.5 DAO / DAL застрял между паттернами Repository и Service Layer (в т.ч. и @Service) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:21 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Usman DAO / DAL застрял между паттернами Repository и Service Layer (в т.ч. и @Service) Народ до сих пор по инерции DAO на всё говорит. Даже в недавнем докладе с JUG было SomeDAO extends JpaRepository :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:32 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Usmanзастрял между паттернами Не очень понял эту фразу. Никто нигде не застревал. DAO - конкретный паттерн. Задача DAO класса инкапсулировать доступ к конкретному способу хранения объекта, в частности JDBC+SQL. С появлением продвинутых API вроде jOOQ и JPA - DAO стал не нужен, так как инкапсулировать там особо нечего уже. Service Layer aka Transaction Script тоже имеет конкретное предназначение - реализовавать workflow бизнес-логики, а так же основных фасадом приложения, с которым работают пограничные слои. Задача Repository - инкапсулировать запросы. Вроде всё просто. DAO не нужен, так как его польза нивелирована современными библиотеками. Repository нужен, так как сложные запросы нужно выносить из сервиса. Вполне логичный тренд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:37 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе очень понял эту фразу. Никто нигде не застревал .забыл заключить в кавычки (:BlazkowiczDAO - конкретный паттерн. Не совсем паттерн , на мой взгляд, это нечто среднее между сервисом и репозиторием: - Repository - это чистый CRUD - Service - бизнес-логика (иногда я называю - совокупностью репозиториев ) в то время, как DAO может быть и CRUD и одновременно хранить некую бизнес-логику (проверки/валидация и т.д.). имхо-имховое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 10:53 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczDAO стал не нужен, так как инкапсулировать там особо нечего уже. Как нечего? Оно осталось только внутри. Спринг его спрятал. Сам спринг ничего не делает). А основная фича преподносится, что мы можем за jpa заменить хибер чем нибудь другим. Imho паттерн абстрагироваться через чур сильно везде где ни попадя. JavaEE этим грешил и помер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 11:07 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Usman, +1 По мне, лучше чтобы это были 2 ветки. И параллельно развивались. И спринг не лез особо в ОРМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 11:09 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Petro123Как нечего? Вот так. Вся работа с базой и соответствующий boilerplate код уже спрятаны куда подальше. Petro123Оно осталось только внутри. Правильно, поэтому зачем это всё заворачивать ещё в один слой? Petro123А основная фича преподносится, что мы можем за jpa заменить хибер чем нибудь другим. Это ерунда. Никто не меняет коней наскоку. Меня больше всего умиляло когда спрашиваешь на собеседованиях про MVC и народ распинается, что можно менять реализации слоёв. Никому это нафиг не надо. Никто не будет менять JPA на jOOQ в середине проекта. Так можно любой паттерн описать. Зачем нужен Service Layer*? Ну чтобы в нём написать логику с одними либами, и всегда можно было заменить на логику с другими либами. Ерунда же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 11:29 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНикто не меняет коней наскоку +5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 11:34 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Imperousвадя, та ну как так, врага надо знать в лицо! :) ну с этим не поспоришь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 13:06 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
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 - нет. Просмотрел, но пока не дощупал... Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 17:35 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 17:54 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
Imperousно в указанном примере Hibernate - нет. Выше про DAO и ОРМ маппинг читали посты? За спрингом это сложно осознать. Выбирайте варианты и дерзайте). Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 19:38 |
|
||
|
Hibernate, что в тренде? :)
|
|||
|---|---|---|---|
|
#18+
вадяImperousпропущено... SQL вообще не проблема, опыта предостаточно. тогда забей хиюер - меньше проблем. эта прокладка только для тех кто с sql не дружит. чтоб не видно было как обсираются. Эй это было грубо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 00:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39549964&tid=2122463]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 190ms |
| total: | 443ms |

| 0 / 0 |
