package org.hibernate.jpa.test; import javax.persistence.EntityManager; import javax.persistence.Query; import org.hibernate.testing.DialectChecks; import org.hibernate.testing.RequiresDialectFeature; import org.junit.Test; import org.hibernate.testing.TestForIssue; import static org.junit.Assert.assertThat; import static org.hamcrest.core.Is.is; @TestForIssue( jiraKey = "HHH-9029") @RequiresDialectFeature(DialectChecks.SupportsRowValueConstructorSyntaxCheck.class) public class CompositeIdRowValueTest extends BaseEntityManagerFunctionalTestCase { @Test public void testTupleAfterSubQuery() { EntityManager em = getOrCreateEntityManager(); Query q = em.createQuery("SELECT e FROM EntityWithCompositeId e " + "WHERE EXISTS (SELECT 1 FROM EntityWithCompositeId) " + "AND e.id = :id"); q.setParameter("id", new CompositeId(1, 2)); assertThat(q.getResultList().size(), is(0)); } @Override protected Class[] getAnnotatedClasses() { return new Class[] {EntityWithCompositeId.class, CompositeId.class}; } }