[hibernate-issues] [Hibernate-JIRA] Created: (HHH-6253) Registered function not being called

Sebastian H. (JIRA) noreply at atlassian.com
Wed May 25 04:02:24 EDT 2011


Registered function not being called
------------------------------------

                 Key: HHH-6253
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6253
             Project: Hibernate Core
          Issue Type: Bug
          Components: core, query-hql
    Affects Versions: 3.6.4, 3.6.3
            Reporter: Sebastian H.


Using the following SQL Dialect

public class ServiceAppMySQL5InnoDBDialect extends MySQL5InnoDBDialect {

	public ServiceAppMySQL5InnoDBDialect() {
		super();
		registerFunction("bitwise_and", new SQLFunctionTemplate(StandardBasicTypes.INTEGER, "(?1 & ?2)"));
		registerFunction("hasflags", new SQLFunctionTemplate(StandardBasicTypes.BOOLEAN, "?1 & ?2 = ?2"));
	}
}

and HQL query

Query q = em
	.createQuery(
		"SELECT o FROM "
			+ entityClass.getName()
			+ " o WHERE hasflags(o.status, :status)")
	.setParameter("email", username)
	.setParameter("status", status.getBitmask());

results in the following exception

Caused by: org.hibernate.hql.ast.QuerySyntaxException: unexpected AST node: ( near line 1, column 50 [SELECT o FROM tv.px.domain.Owner o WHERE hasflags(o.status, :status)]
	at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)
	at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)
	at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:82)
	at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:261)
	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:185)
	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
	at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
	at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
	at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1770)
	at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:272)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list