Skip to content

Commit

Permalink
HHH-13154 Backport BasicCriteriaExecutionTests from ORM 6
Browse files Browse the repository at this point in the history
  • Loading branch information
yrodiere committed Jun 20, 2019
1 parent ae1016a commit fd1963a
Showing 1 changed file with 89 additions and 0 deletions.
@@ -0,0 +1,89 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html
*/
package org.hibernate.orm.test.query.criteria;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.ParameterExpression;
import javax.persistence.criteria.Root;

import org.hibernate.testing.junit4.BaseNonConfigCoreFunctionalTestCase;
import org.junit.Test;

/**
* @author Steve Ebersole
*/
public class BasicCriteriaExecutionTests extends BaseNonConfigCoreFunctionalTestCase {

@Override
protected Class[] getAnnotatedClasses() {
return new Class[] { BasicEntity.class };
}

@Test
public void testExecutingBasicCriteriaQuery() {
final CriteriaBuilder criteriaBuilder = sessionFactory().getCriteriaBuilder();

final CriteriaQuery<Object> criteria = criteriaBuilder.createQuery();

final Root<BasicEntity> root = criteria.from( BasicEntity.class );

criteria.select( root );

inSession(
session -> session.createQuery( criteria ).list()
);
}

@Test
public void testExecutingBasicCriteriaQueryLiteralPredicate() {
final CriteriaBuilder criteriaBuilder = sessionFactory().getCriteriaBuilder();

final CriteriaQuery<Object> criteria = criteriaBuilder.createQuery();

final Root<BasicEntity> root = criteria.from( BasicEntity.class );

criteria.select( root );

criteria.where( criteriaBuilder.equal( criteriaBuilder.literal( 1 ), criteriaBuilder.literal( 1 ) ) );

inSession(
session -> session.createQuery( criteria ).list()
);
}

@Test
public void testExecutingBasicCriteriaQueryParameterPredicate() {
final CriteriaBuilder criteriaBuilder = sessionFactory().getCriteriaBuilder();

final CriteriaQuery<Object> criteria = criteriaBuilder.createQuery();

final Root<BasicEntity> root = criteria.from( BasicEntity.class );

criteria.select( root );

final ParameterExpression<Integer> param = criteriaBuilder.parameter( Integer.class );

criteria.where( criteriaBuilder.equal( param, param ) );

inSession(
session -> session.createQuery( criteria ).setParameter( param, 1 ).list()
);
}

@Entity
public static class BasicEntity {

@Id
@GeneratedValue
private Integer id;

}
}

0 comments on commit fd1963a

Please sign in to comment.