|
|
|
вопрос по hibernate criteria(выборка+сортировка с нескольких таблиц)
|
|||
|---|---|---|---|
|
#18+
всем привет! у меня есть следующие таблицы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. в этом методе я получаю объекты, сортированные по некоторому полю Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. далее мне нужно получить объекты из таблицы2, отсортированные по некоторому, но при этом другое поле должно подпадать быть равным одному из id в получаемом List. Но фишка заключается в следующем: мне нужно получить для 1 table1id только 1 объект из таблицы2. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. поэтому мне нужен метод типа: Код: sql 1. таким образом данный метод с помощью хибера должнен делать меньше вычисление на серваке(больше в самой БД). как мне сделать такую штуку на hibernate? ну или хотя бы помогите написать SQL-запрос(у меня в голове целиком уже не укладывается), дальше сам попытаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2012, 19:38:59 |
|
||
|
вопрос по hibernate criteria(выборка+сортировка с нескольких таблиц)
|
|||
|---|---|---|---|
|
#18+
Если нет количественной выборки (LIMITS), а только качественная (WHERE), то может проще воспользоваться HQL: Код: java 1. Я, правда, не очень понял постановку вопроса, ориентировался исключительно по коду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2012, 20:40:01 |
|
||
|
вопрос по hibernate criteria(выборка+сортировка с нескольких таблиц)
|
|||
|---|---|---|---|
|
#18+
ок. сейчас попытаюсь более детально, без сумбура описать. 1. я выбрал некоторые данные из таблицы1, отсортированные по некоторому полю. 2. основываясь на id этих объектов(предположим, их 10 штук), я выбираю из таблицы2 такие данные, у которых: - поле table1id совпадает из набора полученных 10 объектов - эти данные отсортированы по некторому другому полю(выбирается 1е стоящее вверху значение) - может быть не больше 1 экземпляра с table1id т.е. если есть 10 объектов из таблицы 1, то берём 1й элемент, для него из таблицы2 находим одно значение, максимальное по некоторму полю, потом берём 2й, 3й, ....10й и для них проделываем точно такое.(сейчас я описал по сути то, как оно работает у меня сейчас, но хочется, чтобы всё это выполнялось за 1 запрос, а не n запросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 17:07:36 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2131396]: |
0ms |
get settings: |
14ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
30ms |
get topic data: |
13ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 424ms |

| 0 / 0 |
