Skip to content

Commit

Permalink
HHH-7407 - Second collection-valued IN expression throws QuerySyntaxE…
Browse files Browse the repository at this point in the history
…xpression
  • Loading branch information
sebersole committed Nov 8, 2012
1 parent 209763f commit 2ecf840
Showing 1 changed file with 38 additions and 0 deletions.
Expand Up @@ -24,6 +24,7 @@
package org.hibernate.jpa.test.query;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
Expand Down Expand Up @@ -123,6 +124,43 @@ public void testTypeExpression() throws Exception {
em.close();
}

@Test
@TestForIssue( jiraKey = "HHH_7407" )
public void testMultipleParameterLists() throws Exception {
final Item item = new Item( "Mouse", "Micro$oft mouse" );
final Item item2 = new Item( "Computer", "Dell computer" );

EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
em.persist( item );
em.persist( item2 );
assertTrue( em.contains( item ) );
em.getTransaction().commit();

List<String> names = Arrays.asList( item.getName() );
Query q = em.createQuery( "select item from Item item where item.name in :names or item.name in :names2" );
q.setParameter( "names", names );
q.setParameter( "names2", names );
List result = q.getResultList();
assertNotNull( result );
assertEquals( 1, result.size() );

List<String> descrs = Arrays.asList( item.getDescr() );
q = em.createQuery( "select item from Item item where item.name in :names and ( item.descr is null or item.descr in :descrs )" );
q.setParameter( "names", names );
q.setParameter( "descrs", descrs );
result = q.getResultList();
assertNotNull( result );
assertEquals( 1, result.size() );

em.getTransaction().begin();
em.remove( em.getReference( Item.class, item.getName() ) );
em.remove( em.getReference( Item.class, item2.getName() ) );
em.getTransaction().commit();

em.close();
}

@Test
public void testParameterList() throws Exception {
final Item item = new Item( "Mouse", "Micro$oft mouse" );
Expand Down

0 comments on commit 2ecf840

Please sign in to comment.