@Entity
@Test
public void testPredicateWithString() {
EntityManager entityManager = getEntityManager();
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Animal> criteriaQuery = criteriaBuilder.createQuery(Animal.class);
Root<Animal> from = criteriaQuery.from(Animal.class);
Predicate namePredicate = criteriaBuilder.equal(from.get("name"), "horse");
criteriaQuery.select(from).where(namePredicate);
TypedQuery<Animal> typedQuery = entityManager.createQuery(criteriaQuery);
Query query = typedQuery.unwrap(QueryImpl.class).getHibernateQuery();
System.out.println(query.getQueryString());
assertTrue(query.getQueryString().contains("name=:param"));
}
@Test
public void testPredicateWithInteger() {
EntityManager entityManager = getEntityManager();
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Animal> criteriaQuery = criteriaBuilder.createQuery(Animal.class);
Root<Animal> from = criteriaQuery.from(Animal.class);
Predicate agePredicate = criteriaBuilder.equal(from.get("age"), Integer.valueOf(42));
criteriaQuery.select(from).where(agePredicate);
TypedQuery<Animal> typedQuery = entityManager.createQuery(criteriaQuery);
Query query = typedQuery.unwrap(QueryImpl.class).getHibernateQuery();
System.out.println(query.getQueryString());
assertTrue(query.getQueryString().contains("age=:param"));
}
}