Olá comunidade,
Como ficaria a consulta abaixo, só que passando uma lista?É possível passar um array de integers como parâmetro no in?
Ex:
Olá comunidade,
Como ficaria a consulta abaixo, só que passando uma lista?É possível passar um array de integers como parâmetro no in?
Ex:
List<Integer> listInt = new ArrayList<Integer>();
listInt.add(1);
listInt.add(2);
listInt.add(3);
listInt.add(4);
listInt.add(5);
List ret = getSession().createQuery("SELECT p FROM Pessoa p where p.id in (:listInt)").setParameterList("listInt",listInt ).list();
tente
hql
“SELECT m FROM Minarini AS m WHERE m.aulas in (:aulasVetor)”
no java
query.setParameterList(“aulasVetor”, myList)
quando eu estava respondendo o marcos não estava constava ainda heheheheh desculpe pela duplicação
hmmmmmmmm.
Só que tem um problema.Esses exemplos que vocês deram foi para o Hibernate né?
O problema que eu estou usando o TopLink como provedor.Ele não tem um método “setParameterList”.
Quando eu seto a lista, está sendo lançada a seguinte exceção:
Sim, eu não tinha me atentado que aquele exemplo é para o hibernate, a Query do JPA não tem o método setParameterList, infelizmente não sei te ajudar.
cara da pra tu fazer na mão mesmo! pega uma string vazia vai dando um += nela com os valores do seu vetor depois vc concatena sua consulta com essa string. Exemplo:
String variavelComValores = “”;
for () {
variavelComValores +=
}
“select a from Arthur where a.cod in (” + variavelComValores + “)”;
cara da pra tu fazer na mão mesmo! pega uma string vazia vai dando um += nela com os valores do seu vetor depois vc concatena sua consulta com essa string. Exemplo:String variavelComValores = “”; for () { variavelComValores += } “select a from Arthur where a.cod in (” + variavelComValores + “)”;</blockquote>Se for fazer isso não utilize String, dê preferência para StringBuilder, pois a concantenação de Strings cria objetos desnecessários, tornando mais lento a execução
Na verdade eu tava querendo evitar concatenar strings, mas se não tem jeito. rs
Andei lendo a documentação do JPA 2.0, e é possível setar um array para casos como esse no IN.Eu fiz um teste aqui e realmente funcionou.
Vou ver se adoto o JPA 2.0 no meu projeto.
Obrigado pela ajuda pessoal.
Na verdade eu tava querendo evitar concatenar strings, mas se não tem jeito. rsAndei lendo a documentação do JPA 2.0, e é possível setar um array para casos como esse no IN.Eu fiz um teste aqui e realmente funcionou.
Vou ver se adoto o JPA 2.0 no meu projeto.
Obrigado pela ajuda pessoal.
Funcionou, legal! Cola aí pra eu ver como ficou.