[hibernate-issues] [Hibernate-JIRA] Created: (HHH-6747) ClassCastException when rendering SimpleCaseExpression

Anne Buit (JIRA) noreply at atlassian.com
Wed Oct 19 10:57:19 EDT 2011


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 at test.com", 1);
orderCase = orderCase.when("test2 at 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

        


More information about the hibernate-issues mailing list