Hi,
I am working at Helsinki University portal project, where we are using hibernate and Spring-framework as a base for our system. We have everything working quite perfectly, except for few issues with caching.
In our setup we have a node - tree, where we quite often query node children for a node and also use node data. What we have so far seen is that nodes themselves get cached very well, but whenever we get node children - query will be sent all the way to jdbc.
In the hibernate conf we have:
<class name="fi.hy.sitetree.Node" table="nodes" lazy="true">
<cache usage="read-write"/>
....
<many-to-one name="parent" class="fi.hy.sitetree.Node" column="parent_id" />
...
<list name="children" lazy="true" cascade="delete">
<key column="parent_id" />
<index column="position" type="int" />
<one-to-many class="fi.hy.sitetree.Node" />
</list>
...
I'm using IronEyeSQL to log all the queries that come down to the jdbc-driver - and see clearly that getting node data will be called only once - and node children will be called once for each request.
Is there something that could be done to also to cache these lists?
_________________ -huima
|