Bummer. Ah well, at least that explains it.

Thanks,
Kent

On Apr 12, 2:29 pm, John Davidson <[email protected]> wrote:
> I suspect that is the source of your problem. The query cache is only able
> to deal with value items, not object items. That is probably why you see the
> error.
>
> John Davidson
>
> On Mon, Apr 12, 2010 at 9:22 AM, Kent Boogaart <[email protected]>wrote:
>
> > Yes, that configuration is present. In fact, it was working perfectly
> > fine until I had to switch from using the criteria API to straight SQL
> > for this one particular function. That's what sparked this whole
> > exercise.
>
> > My FilterValue class isn't an entity, so I just have this in my hbm:
>
> > <import class="FilterValue"/>
>
> > Kent
>
> > On Apr 12, 2:03 pm, John Davidson <[email protected]> wrote:
> > > No problem. I assume theny you have in your config
>
> > >    <property name="hibernate.cache.use_query_cache">true</property>
>
> > > What is your mapping for FilterValues? Does it contain a collection
> > > association?
>
> > > John Davidson
>
> > > On Mon, Apr 12, 2010 at 8:26 AM, Kent Boogaart <[email protected]
> > >wrote:
>
> > > > John,
>
> > > > We appear to have our wires crossed.
>
> > > > My SQL query DOES work. My second level cache DOES work. The
> > > > combination of SQL query + second level cache DOES NOT work.
>
> > > > The link in my first post suggests that it CAN work for named SQL
> > > > queries, but my SQL query is not named. All I'm wondering is whether
> > > > it can be made to work for a SQL query that is not named.
>
> > > > Best,
> > > > Kent
>
> > > > On Apr 12, 11:47 am, John Davidson <[email protected]> wrote:
> > > > > SQL queries work without required them to be named queries. You were
> > > > asking
> > > > > about caching, so I thought you had the query working before you
> > tried
> > > > > putting it into a cache. I suggest that you should try to approach it
> > by
> > > > > making the sql query you want work first, then try adding it to your
> > > > cache
> > > > > setup.
>
> > > > > Try:
> > > >http://knol.google.com/k/fabio-maulo/nhibernate-chapter-14/1nr4enxv3d.
> > ..
>
> > > > > John Davidson
>
> > > > > On Mon, Apr 12, 2010 at 4:34 AM, Kent Boogaart <
> > [email protected]
> > > > >wrote:
>
> > > > > > Thanks for the links, but neither appears to address the problem.
> > The
> > > > > > second link didn't work but I found what I think is the same
> > article
> > > > > > at
>
> >http://davybrion.com/blog/2009/02/quickly-setting-up-and-using-nhiber.
> > > > ..
> > > > > > .
>
> > > > > > My problem is that I'm using SQL queries without a named query.
> > Doing
> > > > > > so throws an exception as per my original post. Is this scenario
> > not
> > > > > > supported?
>
> > > > > > Thanks,
> > > > > > Kent
>
> > > > > > On Apr 9, 7:17 pm, John Davidson <[email protected]> wrote:
> > > > > > > The links below give hints as to the secret sauce for configuring
> > > > cache
>
> >http://ayende.com/Blog/archive/2006/08/21/TheSecretLifeOfNHibernatesC..
> > > > ..
> > > > > > ..
>
> > > > > > > John Davidson
>
> > > > > > > On Fri, Apr 9, 2010 at 12:26 PM, Kent Boogaart <
> > > > [email protected]
> > > > > > >wrote:
>
> > > > > > > > Hi,
>
> > > > > > > > I have a SQL query:
>
> > > > > > > >    var filterValues = session
> > > > > > > >        .CreateSQLQuery(sql)
> > > > > > > >        ////.SetCacheable(true)
> > > > > > > >        .SetParameter("parent", qualifiedName)
>
> >  .SetResultTransformer(Transformers.AliasToBean(typeof(FilterValue)))
> > > > > > > >        .List<FilterValue>();
>
> > > > > > > > The actual SQL does not appear to matter. If I uncomment the
> > > > > > > > SetCacheable call I get an exception:
>
> > > > > > > > System.IndexOutOfRangeException: Index was outside the bounds
> > of
> > > > the
> > > > > > > > array.
> > > > > > > >   at NHibernate.Type.TypeFactory.Disassemble(Object[] row,
> > > > > > > > ICacheAssembler[] types, Boolean[] nonCacheable,
> > > > ISessionImplementor
> > > > > > > > session, Object owner)
> > > > > > > >   at NHibernate.Cache.StandardQueryCache.Put(QueryKey key,
> > > > > > > > ICacheAssembler[] returnTypes, IList result, Boolean
> > > > > > > > isNaturalKeyLookup, ISessionImplementor session)
> > > > > > > >   at
>
> > NHibernate.Loader.Loader.PutResultInQueryCache(ISessionImplementor
> > > > > > > > session, QueryParameters queryParameters, IType[] resultTypes,
> > > > > > > > IQueryCache queryCache, QueryKey key, IList result)
> > > > > > > >   at
> > > > NHibernate.Loader.Loader.ListUsingQueryCache(ISessionImplementor
> > > > > > > > session, QueryParameters queryParameters, ISet`1 querySpaces,
> > > > IType[]
> > > > > > > > resultTypes)
> > > > > > > >   at NHibernate.Loader.Loader.List(ISessionImplementor session,
> > > > > > > > QueryParameters queryParameters, ISet`1 querySpaces, IType[]
> > > > > > > > resultTypes)
> > > > > > > >   at
> > NHibernate.Loader.Custom.CustomLoader.List(ISessionImplementor
> > > > > > > > session, QueryParameters queryParameters)
> > > > > > > >   at NHibernate.Impl.SessionImpl.ListCustomQuery(ICustomQuery
> > > > > > > > customQuery, QueryParameters queryParameters, IList results)
> > > > > > > >   at
> > NHibernate.Impl.SessionImpl.List(NativeSQLQuerySpecification
> > > > > > > > spec, QueryParameters queryParameters, IList results)
> > > > > > > >   at
> > > > NHibernate.Impl.SessionImpl.List[T](NativeSQLQuerySpecification
> > > > > > > > spec, QueryParameters queryParameters)
> > > > > > > >   at NHibernate.Impl.SqlQueryImpl.List[T]()
>
> > > > > > > > I've seen this already (
> >http://www.mailinglistarchive.com/html/
> > > > > > > > [email protected]/2010-01/msg00404.html) but I'm not
> > using
> > > > > > > > named queries.
>
> > > > > > > > Is what I'm doing supported? Is there some way I can specify
> > > > whatever
> > > > > > > > extra info is required to support caching?
>
> > > > > > > > Thanks,
> > > > > > > > Kent
>
> > > > > > > > --
> > > > > > > > You received this message because you are subscribed to the
> > Google
> > > > > > Groups
> > > > > > > > "nhusers" group.
> > > > > > > > To post to this group, send email to [email protected].
> > > > > > > > To unsubscribe from this group, send email to
> > > > > > > > [email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > <nhusers%[email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > > > <nhusers%[email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > <nhusers%[email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > > > > > .
> > > > > > > > For more options, visit this group at
> > > > > > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > > > > --
> > > > > > You received this message because you are subscribed to the Google
> > > > Groups
> > > > > > "nhusers" group.
> > > > > > To post to this group, send email to [email protected].
> > > > > > To unsubscribe from this group, send email to
> > > > > > [email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > <nhusers%[email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > > > .
> > > > > > For more options, visit this group at
> > > > > >http://groups.google.com/group/nhusers?hl=en.
>
> > > > --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "nhusers" group.
> > > > To post to this group, send email to [email protected].
> > > > To unsubscribe from this group, send email to
> > > > [email protected]<nhusers%[email protected]>
> > <nhusers%[email protected]<nhusers%[email protected]>
>
> > > > .
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/nhusers?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "nhusers" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<nhusers%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/nhusers?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to