HHH-6655 test case
This commit is contained in:
parent
4ee000ecf5
commit
6dc324fcef
|
@ -24,14 +24,20 @@
|
||||||
package org.hibernate.ejb.criteria;
|
package org.hibernate.ejb.criteria;
|
||||||
|
|
||||||
import javax.persistence.EntityManager;
|
import javax.persistence.EntityManager;
|
||||||
|
import javax.persistence.EntityTransaction;
|
||||||
|
import javax.persistence.TypedQuery;
|
||||||
|
import javax.persistence.criteria.CriteriaBuilder;
|
||||||
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.CriteriaQuery;
|
||||||
import javax.persistence.criteria.Root;
|
import javax.persistence.criteria.Root;
|
||||||
|
import javax.persistence.metamodel.EntityType;
|
||||||
|
import javax.persistence.metamodel.Metamodel;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutput;
|
import java.io.ObjectOutput;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
|
import org.hibernate.dialect.DB2Dialect;
|
||||||
import org.hibernate.ejb.metamodel.Address;
|
import org.hibernate.ejb.metamodel.Address;
|
||||||
import org.hibernate.ejb.metamodel.Alias;
|
import org.hibernate.ejb.metamodel.Alias;
|
||||||
import org.hibernate.ejb.metamodel.Country;
|
import org.hibernate.ejb.metamodel.Country;
|
||||||
|
@ -50,6 +56,8 @@ import org.hibernate.ejb.test.callbacks.Television;
|
||||||
import org.hibernate.ejb.test.callbacks.VideoSystem;
|
import org.hibernate.ejb.test.callbacks.VideoSystem;
|
||||||
import org.hibernate.ejb.test.inheritance.Fruit;
|
import org.hibernate.ejb.test.inheritance.Fruit;
|
||||||
import org.hibernate.ejb.test.inheritance.Strawberry;
|
import org.hibernate.ejb.test.inheritance.Strawberry;
|
||||||
|
import org.hibernate.testing.FailureExpected;
|
||||||
|
import org.hibernate.testing.RequiresDialect;
|
||||||
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
@ -83,6 +91,58 @@ public class CriteriaCompilingTest extends BaseEntityManagerFunctionalTestCase {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@RequiresDialect( DB2Dialect.class )
|
||||||
|
@FailureExpected( jiraKey = "HHH-6655" )
|
||||||
|
public void testTrim() {
|
||||||
|
final String expectedResult = "David R. Vincent";
|
||||||
|
EntityManager em = getOrCreateEntityManager();
|
||||||
|
em.getTransaction().begin();
|
||||||
|
Customer customer = new Customer( );
|
||||||
|
customer.setId( "id" );
|
||||||
|
customer.setName( " David R. Vincent " );
|
||||||
|
em.persist( customer );
|
||||||
|
em.getTransaction().commit();
|
||||||
|
em.close();
|
||||||
|
|
||||||
|
em = getOrCreateEntityManager();
|
||||||
|
|
||||||
|
|
||||||
|
CriteriaBuilder cb = em.getCriteriaBuilder();
|
||||||
|
|
||||||
|
EntityTransaction et = em.getTransaction();
|
||||||
|
et.begin();
|
||||||
|
CriteriaQuery<String> cquery = cb.createQuery( String.class );
|
||||||
|
Root<Customer> cust = cquery.from( Customer.class );
|
||||||
|
|
||||||
|
|
||||||
|
//Get Metamodel from Root
|
||||||
|
EntityType<Customer> Customer_ = cust.getModel();
|
||||||
|
|
||||||
|
cquery.where(
|
||||||
|
cb.equal(
|
||||||
|
cust.get( Customer_.getSingularAttribute( "name", String.class ) ),
|
||||||
|
cb.literal( " David R. Vincent " )
|
||||||
|
)
|
||||||
|
);
|
||||||
|
cquery.select(
|
||||||
|
cb.trim(
|
||||||
|
CriteriaBuilder.Trimspec.BOTH,
|
||||||
|
cust.get( Customer_.getSingularAttribute( "name", String.class ) )
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
TypedQuery<String> tq = em.createQuery( cquery );
|
||||||
|
|
||||||
|
String result = tq.getSingleResult();
|
||||||
|
et.commit();
|
||||||
|
em.close();
|
||||||
|
Assert.assertEquals( "Mismatch in received results", expectedResult, result );
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testJustSimpleRootCriteria() {
|
public void testJustSimpleRootCriteria() {
|
||||||
EntityManager em = getOrCreateEntityManager();
|
EntityManager em = getOrCreateEntityManager();
|
||||||
|
|
Loading…
Reference in New Issue