Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
 Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Добрый день,


В сиквеле у меня есть такой тип:
CREATE TYPE [dbo].[StudentGroup] AS TABLE(
	[student_id] [int] NULL
)
GO


Я вызываю хранимую процедуру таким образом:
DECLARE @SL StudentGroup;
INSERT @SL VALUES (7),(8),(9),(10),(11)

EXEC [dbo].[usp_St_del_by_id] @SL, 1;

Это если в Management Studio.

Как тоже самое сделать из Java/Hibernate?

Спасибо.
3 апр 19, 02:10    [21850794]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
Roust_m,

jdbc TVP
3 апр 19, 06:37    [21850810]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Андрей Панфилов,

А через Hibernate это возможно? У нас девелоперы его везде используют.
3 апр 19, 07:00    [21850816]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m,
В орм сущности и поля классов. Списка чисел не бывает.
ОРМ не работает с хранимками.
3 апр 19, 08:23    [21850855]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
createStoredProcedureQuery ищите.
3 апр 19, 08:26    [21850856]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Озверин
createStoredProcedureQuery ищите.
JPA, не хибер имхо.
3 апр 19, 08:33    [21850861]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Petro123
Озверин
createStoredProcedureQuery ищите.
JPA, не хибер имхо.


jpa - это спецификация, просто напоминаю.
3 апр 19, 08:34    [21850862]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
Roust_m
А через Hibernate это возможно? У нас девелоперы его везде используют.
Если инфраструктура спринговая, то правильный вариант: настроить правильно менеджер транзакций и вызывать через jdbc template.
3 апр 19, 08:34    [21850863]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Озверин
jpa - это спецификация, просто напоминаю.
да).
Я это называю другой архитектурой или как выше написали "спринговой инфраструктурой".
3 апр 19, 08:38    [21850867]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Андрей Панфилов,

Я не программер, а ДБА. Мне девелоперы говорят, что не могут в хранимку передать список значений, ибо они используют Hibernate. Я не понимаю, либо они лукавят и просто не хотят работать с хранимками, либо это tool (hibernate) просто не заточен на SQL Server и лучше работает с Ораклом.
3 апр 19, 08:39    [21850869]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Озверин,

Я не девелопер, найти и понять сам не смогу. Мне в простых терминах надо понять, можно ли через Hibernate передать в хранимку список чисел или таблицу или нет. Если нет, то какие варианты есть, например передать строку с числами разделенными запятой или что-то вроде того.
3 апр 19, 08:42    [21850871]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m
понимаю, либо они лукавят и просто не хотят работать с хранимками,
по умолчанию это не красиво технически. Красиво с коллекциями.
3 апр 19, 08:42    [21850872]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m,
У них ни одной хранимки или есть все таки?
3 апр 19, 08:44    [21850874]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Если у них все по феншую - маппинг, сущности, серисный слой.
А ты тут влез со своей ХП, конечно они правы.
Удачи!
3 апр 19, 08:49    [21850877]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Petro123
Roust_m,
У них ни одной хранимки или есть все таки?


Есть, но только те, которые получают небольшое количество параметров, а не таблицы или списки.

В общем идея у них такая: минимизировать использование хранимок, за исключением случаев когда их автоматически построенные запросы полностью убивают performance базы.
3 апр 19, 08:58    [21850885]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
Roust_m
Я не программер, а ДБА. Мне девелоперы говорят, что не могут в хранимку передать список значений, ибо они используют Hibernate.
Индюки небось? Давайте поясню для "ДБА": hibernate - это ОРМ, он всего лишь реализует некую "концепцию" доступа к БД, т.е.:
- позволяет декларативно описать в java-коде таблицы БД и связи между ними
- поддерживает условно "правильный" жизненный цикл жава-объектов, связанных с таблицами БД (поддержка транзакций, правильный порядок CRUD операций, и т.п.)

на этом все, т.е. хранимые процедуры - это вообще не про ОРМ, это в чистом виде императивщина и является расширением БД над реляционной моделью, поэтому ожидать, что ОРМ умеет хранимые процедуры, скажем, несколько наивно, да, там есть какая-то базовая поддержка, но в данном случае у вас используются расширения вендора в виде user defined types. Меж тем нет ничего зазорного в том, чтобы просто взять и там где нужно использовать "альтернативную концепцию доступа к БД" - никто от этого не умрет, нужно только позаботиться о том, чтобы с транзакциями было все правильно.
3 апр 19, 08:59    [21850888]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Petro123,

Оно может и красиво технически, но эти все девелоперские штучки: наследование, полиморфизм и прочие полностью убивают базу.
3 апр 19, 09:00    [21850890]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Андрей Панфилов
Roust_m
Я не программер, а ДБА. Мне девелоперы говорят, что не могут в хранимку передать список значений, ибо они используют Hibernate.
Индюки небось? Давайте поясню для "ДБА": hibernate - это ОРМ, он всего лишь реализует некую "концепцию" доступа к БД, т.е.:
- позволяет декларативно описать в java-коде таблицы БД и связи между ними
- поддерживает условно "правильный" жизненный цикл жава-объектов, связанных с таблицами БД (поддержка транзакций, правильный порядок CRUD операций, и т.п.)

на этом все, т.е. хранимые процедуры - это вообще не про ОРМ, это в чистом виде императивщина и является расширением БД над реляционной моделью, поэтому ожидать, что ОРМ умеет хранимые процедуры, скажем, несколько наивно, да, там есть какая-то базовая поддержка, но в данном случае у вас используются расширения вендора в виде user defined types. Меж тем нет ничего зазорного в том, чтобы просто взять и там где нужно использовать "альтернативную концепцию доступа к БД" - никто от этого не умрет, нужно только позаботиться о том, чтобы с транзакциями было все правильно.


Вот я и не понимаю, они говорят, что это работает в jdbc, но не в Hibernate. Почему нельзя использовать jdbc в этом конкретном случае? Просто из-за того, что это не феншуйно? Или серьезная причина есть?
3 апр 19, 09:03    [21850892]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m
Petro123,

Оно может и красиво технически, но эти все девелоперские штучки: наследование, полиморфизм и прочие полностью убивают базу.
я фигею.
- наследования там нет
- ОРМ только для CRUD а не отчетов.
Докажите что убивает базу.
3 апр 19, 09:04    [21850893]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Roust_m, а они как-то без jdbc работают с базой из хибера?
3 апр 19, 09:05    [21850894]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m
Почему нельзя использовать jdbc
архитектор в штате есть?
3 апр 19, 09:06    [21850897]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Озверин,
ДБА против ООП.
Это что то))
3 апр 19, 09:07    [21850900]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Petro123
Roust_m
Petro123,

Оно может и красиво технически, но эти все девелоперские штучки: наследование, полиморфизм и прочие полностью убивают базу.
я фигею.
- наследования там нет
- ОРМ только для CRUD а не отчетов.
Докажите что убивает базу.


Зачем это доказывать, это и так все признают, этот хибер может сделать сотню запросов к базе в случае когда из хранимки нужен один. И посмотрев на эти запросы становится дико.
3 апр 19, 09:13    [21850906]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Roust_m,
Мне жаль. Другого способа взять коллекцию из базы нет.
Или ты против АппСервера?
3 апр 19, 09:16    [21850909]     Ответить | Цитировать Сообщить модератору
 Re: Передача списка целых чисел из Java в хранимую процедуру SQL Server  [new]
Roust_m
Member

Откуда: Сидней
Сообщений: 1065
Озверин
Roust_m, а они как-то без jdbc работают с базой из хибера?


Не знаю, я не программер. Я так понимаю, что хибер им запросы генерит. Я спросил, а почему нельзя в случае когда надо передать список не сделать вызов хранимки из jdbc. Мне ответили, что слишком много кода и работы. И что поддерживать этот код будет сложно.
3 апр 19, 09:16    [21850910]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 12   вперед  Ctrl      все
Все форумы / Java Ответить