|
|
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Ребят, мое положение заставляет обратиться к вам за помощью в отдельной теме (после поиска решения в интернете и на sql.ru в частности). Затея: вызвать MS SQL 2008 процедуру с помощью Hibernate 4 и вывести (обработать) два возвращаемых ей значения на экран. Процедура: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Mapping: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Main class: Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Установка соединения: Код: 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. 31. 32. 33. 34. 35. 36. 37. Модель возвращаемого объекта: Код: 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. 31. 32. 33. 34. 35. Hibernate конфиг: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. POM: Код: xml 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. При выполнении программы возникает ошибка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Помогите ее исправить и вывести в консоль два возвращаемых процедурой параметра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 10:46 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12, RTFM: http://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch13.html#sp_query Hibernate provides support for queries via stored procedures and functions. Most of the following documentation is equivalent for both. The stored procedure/function must return a resultset as the first out-parameter to be able to work with Hibernate. ... 13.2.2.1. Rules/limitations for using stored procedures ... Хранимка должна возвращать ResultSet, а не просто значения через OUT параметры. Если нужны просто значения, то можно вытащить Connection из сессии и запускать хранимку через JDBC API ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 11:41 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо. Т.е. мне каким-то образом нужно сделать так чтобы процедура возвращала курсор? Не очень представляю как это в MS SQL. Пойду искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 12:14 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12Blazkowicz, спасибо. Т.е. мне каким-то образом нужно сделать так чтобы процедура возвращала курсор? Не очень представляю как это в MS SQL. Пойду искать. Что там искать?? https://www.google.com/search?q=t-sql return results from stored procedure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:01 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я извиняюсь, но мне не удалось найти пример ms sql процедуры которая возвращает курсор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:05 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Все как - то предлагают получать result set через временные таблицы. Blazkowicz, если бы процедура возвращала один единственные параметр, это упростило бы задачу или все равно нужно возвращать резалтсет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:10 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12, Перестаньте использовать термин ms sql Сервер называется SQL Server. Используемый им диалект SQL называется T-SQL. Ссылку с примерами привел выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:12 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да, извините, конечно transact sql. Еще раз спасибо за линк на результаты поиска, но повторюсь, не увидела примера, где процедура возвращает курсор. Курсор - это в данному случае result set. Не было бы ветки , если бы для меня было бы все очевидно, как, наверное, для Вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:26 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12Blazkowicz, да, извините, конечно transact sql. Еще раз спасибо за линк на результаты поиска, но повторюсь, не увидела примера, где процедура возвращает курсор. Курсор - это в данному случае result set. Не было бы ветки , если бы для меня было бы все очевидно, как, наверное, для Вас. Ну, если в лоб, то да, скорее всего через временную таблицу. Но подойдите с другой стороны к проблеме - Обязательно ли вызывать через Hibernate API, а не JDBC? - Обязательно ли это должна быть "хранимка", а не например, "вьюха"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:30 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, к сожалению - да, хотелось бы через Hibernate API. Вот, нашелся пример, когда процедура возвращает курсор: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:36 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Не, не получается. эх.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 13:51 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12, буду пробовать с одной возвращаемое переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 14:22 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12May12, буду пробовать с одной возвращаемое переменной. Что это меняет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 14:34 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, поняла, что по ничего. Прихожу к выводу что Hibernate не может работать с t-sql процедурами возвращающими значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 14:48 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12Blazkowicz, поняла, что по ничего. Прихожу к выводу что Hibernate не может работать с t-sql процедурами возвращающими значения. цель тестировать хибер или вернуть коллекцию объектов их хранимки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 14:56 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Petro123, здравствуйте. Уже не тестирование; вернуть коллекцию объектов их хранимки Хибером . Ну если это невозможно, то я забью. Просто время потрачено, хотелось бы доделать и думалось что это некая тривиальная задача для этого фреймворка в виду его разракламированности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:01 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12то я забью. забивай) Он не для тебя) Вишь в первой мессаге ты 1000 строк понаписал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:17 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Petro123, ну Вы то знаете как получить результат в данном случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:22 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12Petro123, ну Вы то знаете как получить результат в данном случае? абстрактные задачи решают философы. Хибер решает CRUD. Там другой маппинг. Он в этом хороший)) А ты блонинку используешь как брюнетку). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:25 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
Petro123А ты блонинку используешь как брюнетку). У меня есть серьезные подозрения, что May12 - дама. Поэтому не самая удачная аллегория. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:27 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
т.е. через callable statement JDBC API делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:29 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12Уже не тестирование; вернуть коллекцию объектов их хранимки Хибером . Если хранимка сама не возвращает коллекцию, то при чем тут хибер? Его бага только в том что он NPE выкидывает, когда следовало бы иметь более внятное исключение. May12Ну если это невозможно, то я забью. Просто время потрачено, хотелось бы доделать и думалось что это некая тривиальная задача для этого фреймворка в виду его разракламированности. Это называется "вам шашечки или ехать"? Верните выборку из временной таблицы и будет вам счастье. Вы же сами говорите о какой-то коллекции, которой у вас в БД и нет совсем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 15:29 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПоэтому не самая удачная аллегория. да да))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 16:07 |
|
||
|
Вызов MS SQL хранимой процедуры с двумя исходящими параметрами из Hibernate 4
|
|||
|---|---|---|---|
|
#18+
May12т.е. через callable statement JDBC API делать... пока вы тренируетесть и скучаете, решений полно: - т.к. хранимки, то для них есть полуХибер - iBatis. - хибер стандартно работает с таблицами, а не с их фасадом - хранимками. - можно без хибера но вам не нравится как то так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2015, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=116&tid=2124837]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 381ms |

| 0 / 0 |
