
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
  | 
| 
 27.01.2020, 09:16 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Добрый день. Надо сделать что-то типа такого: Код: java 1. 2. Подскажите, как это можно реализовать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 12:49 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Павел Гужанов Надо сделать что-то типа такого Ишь ты, какой хитрый. Думаю оно такое не умеет аж где-то на уровне jdbc. Там вообще ограничение на то, что можно передать в in, что-то около 1000 id (хотя там все упирается в длину запроса). Да и надо походу писать что-то типа Код: sql 1. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 13:16 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Павел Гужанов, Вообще вопрос интересный. Я сделал через таблицу с id, но мне тоже это не очень нравится. Предлагаю устроить какой-нибудь маленький холивар, чтобы тред не утонул. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 13:21 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Павел Гужанов, а разве spring-data-jpa запрещает тело метода репозитория писать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 14:07 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Ща чтобы точно проверить под рукой ничего jpa-шного нет. Но в интернетах много примеров такого запроса, только вместо массива List-ы и Set-ы crutchmaster Думаю оно такое не умеет аж где-то на уровне jdbc. Опять же проверять лень ща, но в jdbc есть всякие Array типы. Тут больше зависит от того, поддерживает конкретная база и как конкретно фигачит этот массив jpa. Вполне возможно, что он этот массив просто через запятую распишет сам. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 14:11 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Хотя тут вопрос точно про in? - а native запрос вообще optional может возвращать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 14:21 
 | 
|||
|---|---|---|---|
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  вообще операция с in не самая быстрая ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 27.01.2020, 16:08 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  в некоторых базах данных (Oracle), значения in можно передать в виде массива но по ANSI - никак, только макроподстановкой в тело запроса AFAIK ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 03:54 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Leonid Kudryavtsevв некоторых базах данных (Oracle) Для явы ничего не нашел вменяемого на этот счёт. Есть биндинг оракляного клиента для ноды, там так нельзя, пишут мол делай через запятую. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 03:55 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  вадя, В оракле засунуть подзапрос в in тоже самое, что просто связать две таблицы. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 03:56 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  SpringMan Но в интернетах много примеров такого запроса, только вместо массива List-ы и Set-ы Кидай ссылки, потому что я нахожу только костыли типа вот такого https://stackoverflow.com/questions/3107044/preparedstatement-with-list-of-parameters-in-a-in-clause Причём у них там Id штук 20, а надо тысяч 5. Предлагают еще через массив в самой субд, как я понял, но хз как оно там будет работать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:24 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Тюнить базу и смотреть планы выполнения, оптимизатор субд вроде задачи не было.  Поэтому join массива в строку через запятую и в in parameter. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:40 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  PetroNotC Sharp Поэтому join массива в строку через запятую и в in parameter. А если список id очень большой? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:46 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster PetroNotC Sharp Поэтому join массива в строку через запятую и в in parameter. А если список id очень большой? В смысле для кого большой? Для сети, для базы оптимизатора, для глаз человека? Я как то искал ответ на вопрос, какая максимальная длина урл. )))) 2048 символов. Это много или мало? Поэтому ответ - 1. это оффтоп в топике. 2. надо смотреть индивидуально.....для кого "много". Это архитектура. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:49 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  PetroNotC Sharp В смысле для кого большой? Оракл, например, вываливает ошибку если там больше 1к ид. https://stackoverflow.com/questions/400255/how-to-put-more-than-1000-values-into-an-oracle-in-clause Запросы должны работать с любым массивом данных. И с 20 и с 25000 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:53 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster, Конечно тысяча много. Но у ТС где видно что там тысяча? Он вроде просто хотел записать код в пару строк. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:55 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster Запросы должны работать с любым массивом данных. И с 20 и с 25000 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 07:56 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster, У меня в проекте два метода. Один для больших данных, но тормозит многопользовательский режим. Другой для маленьких, но не грузит этот режим. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 09:45 
 | 
|||
|---|---|---|---|
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Павел Гужанов, в интерфейсе Query есть метод setParameterList с несколькими перегрузками ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 09:52 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  skyANA в интерфейсе Query есть метод setParameterList с несколькими перегрузками Что на выходе получится? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 10:03 
 | 
|||
|---|---|---|---|
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster skyANA в интерфейсе Query есть метод setParameterList с несколькими перегрузками Что на выходе получится? https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html#setParameterList(java.lang.String, java.util.Collection) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 10:08 
 | 
|||
|---|---|---|---|
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Будет выполнена привязка списка значений к выражению вида foo.bar in (:value_list). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 11:32 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  crutchmaster Кидай ссылки, потому что я нахожу только костыли типа вот такого В ней по порядку : link1 , link2 и т.д. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 12:13 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  SpringMan, SELECT * FROM employee WHERE employeeName IN (? , ?) Так это работать не будет с длинной списка больше 1000 или как повезёт. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 28.01.2020, 15:28 
 | 
|||
|---|---|---|---|
  
  | 
|||
Hibernate Repository, nativeQuery. передать массив как параметр запроса  | 
|||
| 
 #18+ 
  
    
  Решено следующим образом: Код: java 1. 2. Все работает как надо. Спасибо! Нашел вот здесь: https://www.logicbig.com/tutorials/spring-framework/spring-data/native-query.html ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
  | 

start [/forum/topic.php?fid=59&tablet=1&tid=2120925]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    11ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    39ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    61ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 14ms | 
| total: | 158ms | 

    | 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.