[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-5273) RowCountProjection long to int cast exception
Ioannis Cherouvim (JIRA)
noreply at atlassian.com
Sat Jun 12 04:07:00 EDT 2010
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-5273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37427#action_37427 ]
Ioannis Cherouvim commented on HHH-5273:
----------------------------------------
Yes, it's a showstopper for us as well.
We probably need some "official" response on this breakage to see whether this was an API improvement of some sort or simply a bug.
> RowCountProjection long to int cast exception
> ---------------------------------------------
>
> Key: HHH-5273
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5273
> Project: Hibernate Core
> Issue Type: Bug
> Affects Versions: 3.5.2
> Environment: hibernate-core 3.5.2
> Reporter: Pamir Erdem
>
> After we upgraded our hibernate.jar from 3.3.2 to 3.5.2 the methods which executes rowcount functions have started to throw long to cast exception.
> From the source code of hibernate, it is clear that for the features which will be implemented in 3.6
> some implementations are changed.
> #http://opensource.atlassian.com/projects/hibernate/browse/HHH-5138
> In 3.3.2
> {code:title=RowCountProjection.java|borderStyle=solid}
> public Type[] getTypes(Criteria criteria, CriteriaQuery criteriaQuery)
> throws HibernateException {
> return new Type[] { Hibernate.INTEGER };
> }
> {code}
> In 3.5.2
> {code:title=RowCountProjection.java|borderStyle=solid}
> return new Type[] {
> getFunction( criteriaQuery ).getReturnType( null, criteriaQuery.getFactory() )
> };
> {code}
> But the definitions of the rowcount functions in both versions in same in Dialect.java
> {code}
> static {
> STANDARD_AGGREGATE_FUNCTIONS.put(
> "count",
> new StandardSQLFunction("count") {
> public Type getReturnType(Type columnType, Mapping mapping) {
> return Hibernate.LONG;
> }
> public String render(List args, SessionFactoryImplementor factory) {
> if ( args.size() > 1 ) {
> if ( "distinct".equalsIgnoreCase( args.get( 0 ).toString() ) ) {
> return renderCountDistinct( args );
> }
> }
> return super.render( args, factory );
> }
> {code}
> By this minor change in 3.5.2 all the project tests which executes count sql function are failing by throwing class cast exception
--
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