On Nov 30, 2011, at 15:22, Steve Ebersole wrote: > Not sure when you sent this out, but I already fixed this (my) yeasterday. > The only real option, IMO, is to throw an exception. As long as we are tied > to pulling resultset values based on column name this is going to be a > situation that we simply cannot reasonably support. Modifying the sql query > is extremely difficult.
Agreed - seems you throw only when duplicated aliases and with auto discovery - that seems like the best option yes. Might break existing queries though - but thats better than the silent bug problem. /max > > > > On Tue 29 Nov 2011 11:37:59 AM CST, Max Rydahl Andersen wrote: >>> I agree we should not do any magic on a native query; but following >>> this reasoning just anything should be possible, and I wouldn't expect >>> Hibernate to apply such magic to the results either. >>> Why is it even looking at names in the resultset? As a user I'd want >>> it to just return the same ordered sequence of values. >> >> At the time of original implementation there wasn't any other way to do the >> mapping as I recall. >> >> I guess in this very special case (no scalars, nor entity mappings) adding >> on the query it could be handled differently. >> >> Note though that we need to ensure if you apply a result transformer to this >> query it will actually return something sensible >> (i.e. named aliases for a map vs just indexes) >> >> The rearranging of hibernate core might allow for handling this now but I'm >> not uptodate on that. >> >> /max >> >>> I would consider it very important to allow a full "jdbc fallback" >>> experience, otherwise instead of being a nice tool it becomes an >>> impediment and users will rightfully hate you. >>> >>> Sanne >>> >>> On 29 November 2011 15:25, Max Rydahl Andersen<max.ander...@redhat.com> >>> wrote: >>>> the original idea of the native sql approach is to avoid/reduce doing >>>> anything magical with the query since >>>> there is no way to fix these generally without a full sql parser. >>>> >>>> So I would say it works as expected. >>>> >>>> /max >>>> >>>> On Nov 29, 2011, at 11:59, Strong Liu wrote: >>>> >>>>> T_User >>>>> id username >>>>> 1 stliu >>>>> 2 gail >>>>> >>>>> for example a native query sql "select v1.username, v2.username from >>>>> T_User v1, T_User v2 where v1.id = '1' and v2.id = '2'" >>>>> >>>>> but the query returns ["stliu", "stliu"] instead of the expected >>>>> ["stliu", "gail"] >>>>> >>>>> this is because hibernate uses column alias (in this case, both are >>>>> "username") to get the result from ResultSet, and since the two result in >>>>> RS are all keyed by "username" >>>>> >>>>> >>>>> should we generate a alias for each like hql does? >>>>> >>>>> >>>>> ------------------------- >>>>> Best Regards, >>>>> >>>>> Strong Liu<stliu at hibernate.org> >>>>> http://about.me/stliu/bio >>>>> >>>>> _______________________________________________ >>>>> hibernate-dev mailing list >>>>> hibernate-dev@lists.jboss.org >>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>>> >>>> /max >>>> http://about.me/maxandersen >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> hibernate-dev mailing list >>>> hibernate-dev@lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev >>>> >> >> /max >> http://about.me/maxandersen >> >> >> >> >> _______________________________________________ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev > > -- > st...@hibernate.org > http://hibernate.org /max http://about.me/maxandersen _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev