|
|
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
Не знал что в названии темы написать, сейчас попробую описать ситуацию, думаю она не так редка. Есть проект, в нем есть классы сущностей, которые используются в основном для мапинга и прочих вещей Хибернейтом. Я сделал тестовую класс сущность, в нее добавил привязку к другой сущности DinamicProduct. То есть всего их две TestData и DinamicProduct Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Далее я добавил класс, назовем его провайдером, который выдаст нам одним из методов getTestDatas() массив тестовых объектов. Загвоздка в том, что надо бы, чтобы при выборке объектов, у него было возможно получить(а в дальнейшем и обновить) данные в поле dinamicProduct. Кстати, данные в строке private final String columnsListForSQL = "id, someName, dinamicProduct, dinamicProductId"; не совсем верны, выделеное красным должно быть dinamicProduct_id, так как в таблице это поле именно так генерируется гибернейтом. В методе rsToTestData() видим строчку td.setDinamicProduct( ????????????? ); Вот что в нее прописать? или ничего? Как вообще через JDBC такие штуки вытаскивать и/или обновлять? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 15:30 |
|
||
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
Nixic, правильнее будет все же DynamicProduct А если по существу, то что за адский микс? Зачем вам какой-то левый провайдер, если можно вытянуть полностью сконструированные сущности со всеми взаимосвязями через EntityManager? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 15:36 |
|
||
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
NixicЕсть проект, в нем есть классы сущностей, которые используются в основном для мапинга и прочих вещей Хибернейтом. ... Как вообще через JDBC такие штуки вытаскивать и/или обновлять? Так ЖДБЦ или Хибернейтом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 15:42 |
|
||
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
забыл никNixic, правильнее будет все же DynamicProduct А если по существу, то что за адский микс? Зачем вам какой-то левый провайдер, если можно вытянуть полностью сконструированные сущности со всеми взаимосвязями через EntityManager? Из-за ощущений, что так будет быстрее работать :) Пробовал когда-то использовать Lazy, потому что есть сущности с множественными связями, и они тащат за собой кучу всего, когда надо получить просто список из таблицы. Но в итоге, иногда нужно получить-таки один привязанный объект. В общем вот такой вот микс. А еще есть одна база и два интерфейса, один на вебе, другой на свинге. На свинге тащится все через пул, поэтому добавлены DynamicProductId. В общем бардак страшнейший) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 15:43 |
|
||
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
Nixicзабыл никNixic, правильнее будет все же DynamicProduct А если по существу, то что за адский микс? Зачем вам какой-то левый провайдер, если можно вытянуть полностью сконструированные сущности со всеми взаимосвязями через EntityManager? Из-за ощущений, что так будет быстрее работать :) Пробовал когда-то использовать Lazy, потому что есть сущности с множественными связями, и они тащат за собой кучу всего, когда надо получить просто список из таблицы. Но в итоге, иногда нужно получить-таки один привязанный объект. В общем вот такой вот микс. А еще есть одна база и два интерфейса, один на вебе, другой на свинге. На свинге тащится все через пул, поэтому добавлены DynamicProductId. В общем бардак страшнейший) Ну тут просто ваша лень) не будет оно тормозить. По-хорошему конечно надо все перепроектировать, но я понимаю что это может быть затратно, как хот фикс, вам надо просто открыть второй PreparedStatement, сделать select from dinamicProduct where dinamicId = : и заполнить объект, а потом его уже засеттить в TestData ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 15:46 |
|
||
|
Вытащить через пул объект, с привязанным объектом
|
|||
|---|---|---|---|
|
#18+
забыл никНу тут просто ваша лень) не будет оно тормозить. По-хорошему конечно надо все перепроектировать, но я понимаю что это может быть затратно, как хот фикс, вам надо просто открыть второй PreparedStatement, сделать select from dinamicProduct where dinamicId = : и заполнить объект, а потом его уже засеттить в TestData Так и делаю в некоторых местах :) Ну в общем, не буду придумывать ничего, надо просто с гибернейтом разобраться по нормальному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2016, 16:01 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=104&tid=2124350]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 325ms |

| 0 / 0 |
