use of org.hibernate.jpa.test.metamodel.Product in project hibernate-orm by hibernate.
the class QueryBuilderTest method testEqualityComparisonLiteralConversion.
@Test
public void testEqualityComparisonLiteralConversion() {
EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
CriteriaBuilderImpl cb = (CriteriaBuilderImpl) em.getCriteriaBuilder();
MetamodelImpl mm = (MetamodelImpl) em.getMetamodel();
CriteriaQuery<Integer> cquery = cb.createQuery(Integer.class);
Root<Product> product = cquery.from(Product.class);
EntityType<Product> Product_ = mm.entity(Product.class);
cquery.select(cb.toInteger(product.get(Product_.getSingularAttribute("quantity", Integer.class))));
ComparisonPredicate predicate = (ComparisonPredicate) cb.equal(product.get(Product_.getSingularAttribute("partNumber", Long.class)), 373767373);
assertEquals(Long.class, predicate.getRightHandOperand().getJavaType());
cquery.where(predicate);
em.createQuery(cquery).getResultList();
predicate = (ComparisonPredicate) cb.ge(cb.length(product.get(Product_.getSingularAttribute("name", String.class))), 4L);
assertEquals(Integer.class, predicate.getRightHandOperand().getJavaType());
cquery.where(predicate);
em.createQuery(cquery).getResultList();
em.getTransaction().commit();
em.close();
}
use of org.hibernate.jpa.test.metamodel.Product in project hibernate-orm by hibernate.
the class ExpressionsTest method testEmptyDisjunctionIsTrue.
@Test
public void testEmptyDisjunctionIsTrue() {
EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
CriteriaQuery<Product> criteria = builder.createQuery(Product.class);
criteria.from(Product.class);
criteria.where(builder.isTrue(builder.disjunction()));
List<Product> result = em.createQuery(criteria).getResultList();
assertEquals(0, result.size());
em.getTransaction().commit();
em.close();
}
use of org.hibernate.jpa.test.metamodel.Product in project hibernate-orm by hibernate.
the class ExpressionsTest method testInExpressionVarargs.
@Test
public void testInExpressionVarargs() {
EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
CriteriaQuery<Product> criteria = builder.createQuery(Product.class);
Root<Product> from = criteria.from(Product.class);
criteria.where(from.get(Product_.partNumber).in(from.get(Product_.partNumber)));
List<Product> result = em.createQuery(criteria).getResultList();
assertEquals(1, result.size());
em.getTransaction().commit();
em.close();
}
use of org.hibernate.jpa.test.metamodel.Product in project hibernate-orm by hibernate.
the class ExpressionsTest method testEmptyConjunctionIsTrue.
@Test
public void testEmptyConjunctionIsTrue() {
EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
CriteriaQuery<Product> criteria = builder.createQuery(Product.class);
criteria.from(Product.class);
criteria.where(builder.isTrue(builder.and()));
List<Product> result = em.createQuery(criteria).getResultList();
assertEquals(1, result.size());
em.getTransaction().commit();
em.close();
}
use of org.hibernate.jpa.test.metamodel.Product in project hibernate-orm by hibernate.
the class ExpressionsTest method testEmptyConjunction.
@Test
public void testEmptyConjunction() {
EntityManager em = getOrCreateEntityManager();
em.getTransaction().begin();
CriteriaQuery<Product> criteria = builder.createQuery(Product.class);
criteria.from(Product.class);
criteria.where(builder.and());
List<Product> result = em.createQuery(criteria).getResultList();
assertEquals(1, result.size());
em.getTransaction().commit();
em.close();
}
Aggregations