ClassCastException when rendering SimpleCaseExpression
------------------------------------------------------
Key: HHH-6747
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-6747
Project: Hibernate Core
Issue Type: Bug
Components: query-criteria
Affects Versions: 3.6.7
Environment: SQL Server 2005
Reporter: Anne Buit
Priority: Minor
Attachments: SimpleCase.zip
When creating a SimpleCase using CriteriaBuilder.selectCase(Expression<?> arg0), a
classcast exception will be thrown when the query is rendered to a TypedQuery.
CriteriaQuery<Customer> query = builder.createQuery(Customer.class);
Root<Customer> root = query.from(Customer.class);
query.select(root);
SimpleCase<String, Integer> orderCase =
builder.selectCase(root.get(Customer_.EMail));
orderCase = orderCase.when("test(a)test.com", 1);
orderCase = orderCase.when("test2(a)test.com", 2);
query.orderBy(builder.asc(orderCase.otherwise(0)));
em.createQuery(query);
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot
be cast to org.hibernate.ejb.criteria.Renderable
at
org.hibernate.ejb.criteria.expression.SimpleCaseExpression.render(SimpleCaseExpression.java:146)
at org.hibernate.ejb.criteria.CriteriaQueryImpl.render(CriteriaQueryImpl.java:346)
at
org.hibernate.ejb.criteria.CriteriaQueryCompiler.compile(CriteriaQueryCompiler.java:223)
at
org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:441)
See attachement for a reproduction project.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira