I just upgraded a project from 2.1.1 to 2.1.2 and I'm having problems with regards to the fix for JBSEAM-3032.
I'm connecting to an Oracle database and the getCountEjbql function is trying to count composite keys instead of which results in a ORA-00907: missing right parenthesis error. I need it to count() instead.
So reading the bug report, if I'm using Hibernate persistence it should be setting WILDCARDASCOUNTQUERYSUBJECT to true and then using the wildcard to do the count. However, its not. Instead I get the error.
Here is my persistence.xml
<persistence-unit name="invmi" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.connection.provider_class" value="org.safmt.hibernate.HibernateConnProvider" /> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/> </properties> </persistence-unit>
But the resulting Oracle query comes out as:
select count((drawerdata0_.DRAWER_NAME, drawerdata0_.FIELD_NAME)) as col_0_0_ from DRAWER_DATA_LOCS drawerdata0_
Is there something I need to set to get the behavior of a wildcard count?
Of course I can override the getCountEjbql function and it works--but I'd rather not do that for all my classes that have composite keys.