
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.04.2012, 13:52:48
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Имеются таблицы А и В ссылающиеся по внешнему ключу на таблицу С, но напрямую друг с другом не связанные. Вопрос.Можно ли в хибернейте сделать сложный запрос из этих двух таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:04:52
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Связь через общий FK с таблицей С ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:06:25
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Или проще сделать в обычном SQL? (Жаль редактировать сообщения нельзя) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:22:21
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
В хибернейта запрос можно сделать 3мя способами HQL, Criteria API и SQL (можно ещё JPLQ но, по логике, этот тот же HQL) Так вот в HQL и Criteria API можно сделать запрос, только если вы эти сущности свяжете через ассоциацию в коде (например ManyToMay + JoinTable) В SQL можете и без ассоциации сущностей. Хибер умеет и из SQL сущности собрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:29:19
|
|||
|---|---|---|---|
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Лично мое мнение, что и HQL и Criteria - это конечно с первого взгляда круто, но практически трудноприменимо, за исключением редких случаев. Предполагалось что HQL должен упростить написание запросов и придать им гипотетическую переносимость между базами, а в итоге получается что я имея опыт на SQL, должен изучить еще один диалект и по каждой мелочи лазить в гугл с запросами "как сделать having в hql " и т.п чтобы не ошибится(ни разу не получилось написать запрос с первого раза). С другой стороны я всегда предварительно тестирую запрос на СУБД во время разработки и не вижу никакого бенефита по его переводу на hql. Так что мое скромное ИМХО - Hql рулит для CRUD ну и еще может простецкий join по коллекции, все остальные запросы - нативный sql + result Transformer - гораздо проще, быстрее и понятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:41:46
|
|||
|---|---|---|---|
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
забыл ник, +1 правда, ты покусился на святое - на ОРМ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 14:59:02
|
|||
|---|---|---|---|
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Petro123забыл ник, +1 правда, ты покусился на святое - на ОРМ :) Неправда) ОРМ подразумевает под собой маппинг между реляционной моделью и объектной - чем я и стараюсь пользоваться, оба подхода(basic CRUD и SQL+transformer) - именно это и делают, другое дело что оптимизации типа First-level cache и т.п. во втором случае- идут лесом - это да, но это по моему мнению к ОРМ прямого отношения не имеет, это фича хибернейта, да и по практике - если ты спустился до написания nativeSql - это уже значит, что запрос нетривиальный, и скорее всего кэшировать что-то не имеет особого смысла, так что наш подход вобрал в себя лучшее из двух миров. Хотя, повторюсь, это лишь мое мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 15:10:12
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Угу в итоге решил проблему Native запросом.Просто весь проект крутится на hql и одинокий Native запрос смотрится как-то странно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 15:13:31
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
C4Et4uKУгу в итоге решил проблему Native запросом.Просто весь проект крутится на hql и одинокий Native запрос смотрится как-то странно) а так Код: java 1. ну или как то так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 15:14:46
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Michael PonomarevC4Et4uKУгу в итоге решил проблему Native запросом.Просто весь проект крутится на hql и одинокий Native запрос смотрится как-то странно) а так Код: java 1. ну или как то так точнее select a, b from A a, B b where a.c.id = b.c.id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 17:23:51
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
Получается запрос к 3ем таблицам?Таблицы сильно не маленькие... Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.04.2012, 19:40:04
|
|||
|---|---|---|---|
|
|||
Hibernate, Join не связанных напрямую таблиц. |
|||
|
#18+
C4Et4uK, Сложно сказать сколько таблиц будет участвовать в выборке, твоих сущностей никто не видел А сколько сейчас таблиц в нативном запросе ? И что индексов по FK нет что ли ? Ты бы привел код сущностей и нативного запроса в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2131921]: |
0ms |
get settings: |
19ms |
get forum list: |
22ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
54ms |
get topic data: |
17ms |
get forum data: |
4ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 369ms |
| total: | 572ms |

| 0 / 0 |
