我用户的Hibernate3,ssh2框架,今天加入OSCache缓存,发现图片被评论后,评论内容取不到;下面是映射文件配置这是我的图片类 Userimage;    replyuserimages是对图片的评论 <class name="com.non.model.Userimage" table="userimage" catalog="hcger">
    <cache usage="read-write"/>
        <id name="imageid" type="java.lang.Long">
            <column name="imageid" />
            <generator class="identity" />
        </id>  .......<!--图片评论,主要是这里被缓存了,<cache usage="read-write"/>要是我把这行代码去掉,就能立即显示评论内容--> <set name="replyuserimages" inverse="true" order-by="imreplyid desc">
        <cache usage="read-write"/>
            <key>
                <column name="imageid" />
            </key>
            <one-to-many class="com.non.model.Replyuserimage" />
        </set>页面评论是用jstl标签取的,${image.replyuserimages};如果我提交一个评论,页面不会显示评论内容;评论数据是已经存进数据库里的,现在肯定是读取的缓存数据;请问如何同步set里的数据? hibernatecache数据库

解决方案 »

  1.   

    我觉得你的理解有误。你可以这样尝试以下,评论后,重新登录,看这些评论能否看到,如果能看到,说明跟数据库、Hibernate没有关系,是页面的缓存的问题。
      

  2.   

    不是页面缓存,是hibernate缓存
    <set name="replyuserimages" inverse="true" order-by="imreplyid desc">
            <cache usage="read-write"/> <!-- 去掉这行代码,就没问题了--》
                <key>
                    <column name="imageid" />
                </key>
                <one-to-many class="com.non.model.Replyuserimage" />
            </set>
      

  3.   

    提交评论是通过hibernate?
    关于hibernate的缓存使用 
    http://blog.csdn.net/woshichenxu/article/details/586361