|
|
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Т.к. приложение собирается только читать данные и быстродействие критично, то пока не вижу место Hibernate. При этом писать тупо селекты не хочется. Есть простой фреймфорк, который не делает лишних запросов, не занимается модификацией кода и т.п., а просто и без затей мапит классы на таблицы? Я так понимаю, MyBatis? -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:28:28 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraПри этом писать тупо селекты а придется GKS_SamaraЯ так понимаю, MyBatis? хрен там. майбатис ничего за тебя не делает, это ни что иное как декларативный способ написать спринговый RowMapper и засунуть sql в ресурсы (ну плюс пару плюшек в виде динамического sql кода). запросы и маппинги придется либо писать руками либо юзать какой-то генератор на основе метаданных (в ibatis был какой-то, не знаю перекочевал ли он в mybatis) - причем в те времена он был довольно примитивным, т.е. мог сгенерить только CRUD, никаких тебе джойнов 5 таблиц. имхо самое скучное в mybatis это когда тебе нужны разные наборы полей одного объекта на разные случаи (ну например один раз только id и имя, другой раз все плюс 2 вложенных объекта, все плюс 3 вложенных объекта со своими вложенными объектами и т.д.) - придется мастырить кучу маппингов из комбинаций n x m полей, а также селектов с джоинами. в этом плане мне hql гораздо больше импонирует. лично я бы начал с хибером (как самой быстрой реализацией в плане говнокодинга), отгородившись от него интерфейсами и, если не устроит, подумал о чем-то ином - либо написал Ibatis/JDBC реализации там где надеешься получить выигрыш в скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:49:25 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, я тебе писал, у Smart свой маппинг и Хибер не нужен. Всё зависит от конечного компонента показа в ГУИ. Что к нему можно прицепить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:52:00 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
у Click наверно JSON а как его приготовить из БД твоё дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:53:52 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpashaон был довольно примитивным, т.е. мог сгенерить только CRUD, никаких тебе джойнов 5 таблиц. из CRUD ему нужна только буква "S" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 17:57:17 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Вы будете удивлены, но при умелом использовании hibernate может работать быстрее прямых запросов, так как имеет встроенный механизм кеширования. Если конечно это не random access. Кроме того, очень рекомендую посмотреть org.hibernate.Criteria - специально для того, чтобы не писать ни sql, ни hql, ни jpql запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:00:41 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Добрый день, ivanra! > Вы будете удивлены, но при умелом использовании hibernate может работать > быстрее прямых запросов, так как имеет встроенный механизм кеширования. Не буду :) > Если конечно это не random access. Он и есть. Тупо просмотр справочной информации любым желающим. Т.е. вероятность повторной выборки данных близок к нулю. > Кроме того, очень рекомендую посмотреть org.hibernate.Criteria - > специально для того, чтобы не писать ни sql, ни hql, ни jpql запросы Знаю, знаю... -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:08:59 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
ivanraВы будете удивлены, но при умелом использовании hibernate может работать быстрее прямых запросов, так как имеет встроенный механизм кеширования. Если конечно это не random access. Кроме того, очень рекомендую посмотреть org.hibernate.Criteria - специально для того, чтобы не писать ни sql, ни hql, ни jpql запросы Очень рекомендую изучить HQL, чтобы не смотреть на org.hibernate.Criteria. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:10:49 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123chpashaон был довольно примитивным, т.е. мог сгенерить только CRUD, никаких тебе джойнов 5 таблиц. из CRUD ему нужна только буква "S" да, но я так подозреваю нужны громоздкие селекты, а не select * from t ivanraВы будете удивлены, но при умелом использовании hibernate может работать быстрее прямых запросов, так как имеет встроенный механизм кеширования. ты будешь удивлен, но кэш не является строго хибернейтовой фишкой. тем более, то что данные нужно только читать не означает, что они не меняются, так что вопрос о применимости кэша вообще отдельный. но в целом ты прав, сомнительно что оптимально сгенеренный селект в хибере будет сильно медленней написанного руками. впрочем нужно мерять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:11:46 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
IDVsbruckОчень рекомендую изучить HQL, чтобы не смотреть на org.hibernate.Criteria.имхо у каждого свои цели. criteria больше для динамических запросов, где иначе понадобилась бы жестокая конкатенация hql-строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:15:17 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpashaгромоздкие селекты, а не select * from t не люблю, когда нет альтернативы (Хибер \ Спинг). А тут. задача, как раз для них - Простых проектов. Можно даже вьюху сделать в БД VIEW ПокажиЗадолжников а потом: Код: java 1. Пусть делает разные проекты. Удачи аффтару. ______________________________________________ "Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:23:09 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123не люблю, когда нет альтернативы (Хибер \ Спинг). А тут. задача, как раз для них - Простых проектов. как раз задача не известна. Petro123Можно даже вьюху сделать в БД VIEW ПокажиЗадолжников все это годится, когда три таблицы и две сущности. потому что на деле нам как правило понадобятся ПокажиЗадолжниковСАдресами, ПокажиЗадолжниковСРодственниками, ПокажиЗадолжников, ПокажиЗадолжниковУдаленных, ПокажиЗадолжниковИзМосквы и будешь ты курочить это вьюхи и дописывать кучу новых, с разной комбинацией полей и таблиц. а потом тебе однажды нужно поменять тип поля с int на numeric, а твой сервер БД говорит тебе - а хрена (да-да, у нас не у всех оракл). и начинаешь ты дропать эти вьюхи каскадом и пересоздавать их снова в порядке зависимостей друг от друга с вложенностью неопределенной глубины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 18:44:18 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpasha, Ты ни разу не делал вьюху? Вместо звездочки ставишь те поля что нужно. Вьюхи убирают join вот и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 19:56:10 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123chpasha, Ты ни разу не делал вьюху? Петро, из моих слов можно как раз догадаться, что я делал вьюху и не раз. к сожалению ты не прочитал то, что я написал, или прочитал, но не понял. Petro123Вьюхи убирают join вот и все. вьюхи сами себя не пишут, и для каждого нового набора данных нам нужна другая вьюха с другими комбинациями таблиц (если мы не хотим написать одну супер вьюху с 10 джоинами и 300 полями на все случаи жизни). а в хибере я написал "from Client p join fetch p.Address" получил вьюху клиентов с адресами. написал join fetch p.Firma - получил вьюху с фирмой и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:09:48 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
и будешь ты курочить это вьюхи и дописывать кучу новых, с разной комбинацией полей и таблиц. а потом тебе однажды нужно поменять тип поля с int на numeric, а твой сервер БД говорит тебе - а хрена (да-да, у нас не у всех оракл). и начинаешь ты дропать эти вьюхи каскадом и пересоздавать их снова в порядке зависимостей друг от друга с вложенностью неопределенной глубины. Вьюхи - это код, он должен жить в SVN и деплоиться запуском одного скрипта. Следовательно, вьюхи должны быть уже отсортированы в порядке зависимостей. Вложенность неопределенной глубины - это страшилки, я считаю что вложенности 5 должно быть достаточно для любого приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:26:49 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpasha, Смишно противопоставлять HQL / SQL вьюхам. А также искать типы данных в них. И не собираюсь спорить)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:31:40 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪВьюхи - это код, он должен жить в SVN ты у нас вроде нелюбитель лишний работы, ну вот и расскажи мне зачем всем проектам на земле хранить в vcs полный дамп базы? Йуный джавистЪСледовательно, вьюхи должны быть уже отсортированы в порядке зависимостей. что конечно отменяет необходимость либо добавлять новое поле во все из них, либо писать * в каждой зависимой. Йуный джавистЪя считаю что вложенности 5 должно быть достаточно для любого приложения. на этом месте я подумал, процитировать ли мне Гейтса с его 640кб или съязвить по поводу того, что 5-уровневая вложенность это конечно же фигня. з.ы. кстати Петро, вот человек хотя бы понял о чем я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:38:07 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123chpasha, Смишно противопоставлять HQL / SQL вьюхам. расскажи в чем смех? sql вьюха это материализованный в бд запрос. hql это материализованный в коде запрос. когда вьюхи используют для защиты таблиц от прямого доступа - это другая история. здесь речь шла о "борьбе" с джоинами. Petro123И не собираюсь спорить)). та если бы ты читал, что пишут и отвечал по теме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:41:56 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpasha, Вьюшка призвана упрощать и ускорять Сложный sql Запрос. Чё ты на них ополчился? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:46:23 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123chpasha, Вьюшка призвана упрощать и ускорять Сложный sql Запрос. как и HQL (ну овлекаясь от конкретных реализаций вьюх и связанных с этом плюшек, которые есть не у всех). Petro123Чё ты на них ополчился? ))) ты опять не пытаешься отвечать на то что пишу я, а говоришь о чем-то своем. я не ополчился на вьюхи. я их достаточно много использую и пишу о том, какие с этим связаны недостатки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:50:11 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
chpasha, Ну и здорово. Недостатки есть у sql hql view. Предложи альтернативу Хиберу в простом проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 20:57:18 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
Petro123chpasha, Ну и здорово. Недостатки есть у sql hql view. Предложи альтернативу Хиберу в простом проекте. я бы сформулировал так - пока ты точно не знаешь, почему именно здесь нельзя хибер юзать, лучше его и юзать (в смысле удобней). сдается мне что проблемы с его использованием могут возникнуть как раз либо в больших проектах, либо очень специфических. например места, где лично мне быстрее накалякать на jdbc/jdbcTemplate, проектом назвать сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 21:33:44 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
IDVsbruckivanraКроме того, очень рекомендую посмотреть org.hibernate.Criteria - специально для того, чтобы не писать ни sql, ни hql, ни jpql запросыОчень рекомендую изучить HQL, чтобы не смотреть на org.hibernate.Criteria.Чтобы потом, разобравшись с HQL, начать уже осознанно использовать org.hibernate.Criteria ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 22:04:07 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
как всегда в Java максималисты: "это выбрось - это золотая пуля" ). Ни на что другое не смотри. Удачи аффтару) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 22:06:58 |
|
||
|
В тему быстрых сайтов- а что вместо Hibernate?
|
|||
|---|---|---|---|
|
#18+
ну вот и расскажи мне зачем всем проектам на земле хранить в vcs полный дамп базы Я не предлагаю хранить дамп базы. Должен храниться КОД создания таблиц, а не выблев утилиты для дампа базы. Код - значит с комментами, желательно для каждой колонки. на этом месте я подумал, процитировать ли мне Гейтса с его 640кб В моем комментарии уже была заложена скрытая цитата Гейтса. Ты бы тоже мог ответить смешной цитататой, но тебе не удалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2013, 22:13:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38150123&tid=2129970]: |
0ms |
get settings: |
18ms |
get forum list: |
28ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
72ms |
get topic data: |
17ms |
get forum data: |
6ms |
get page messages: |
121ms |
get tp. blocked users: |
3ms |
| others: | 341ms |
| total: | 620ms |

| 0 / 0 |
