当前位置:编程学习 > JAVA >>

Hibernate 使用 ehcache 缓存时,many-to-one 中的one为空

在使用Hibernate4,ehcache 2.6时,对实体类进行缓存, 
实体类配置如下: 
   <class name="com.test.model.Info" table="info"> 
          <cache usage="read-write"/> 

many-to-one 配置: 

<many-to-one name="type" class="com.test.model.Type" 
column="type_id" lazy="false" insert="false" update="false" not-found="ignore"/> 

ehcache.xml配置如下: 
<cache name="com.test.model.Info" maxEntriesLocalHeap="100" 
eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="false" /> 


在列表页读取One中的数据,对新添加的Info,第二次刷新列表,One的属性为Null。 

是哪里不对吗? hibernate ehcache --------------------编程问答-------------------- many to one里加上outer-join="true" 看看 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 加上outer-join="true" 还是不行,
我纳闷的是,在我重启Tomcat之后,直接点列表,one是有数据的,我在many那边新加一条记录,返回到列表,这时新加的那条one也是有数据,此时刷新一下列表后,新加的那条的one已经为null了,而其他原来的数据还是有的,不解。 --------------------编程问答-------------------- 刷新是不是又提交了一次? --------------------编程问答-------------------- 刷新是使用list()方法又重新取了一次,不是重新提交。 --------------------编程问答--------------------
引用 5 楼 xiaojiit 的回复:
刷新是使用list()方法又重新取了一次,不是重新提交。

你看一下 数据库 many提交完,one那边数据库是否真的入库? 还是走的数据库缓存并未实际意义提交。 --------------------编程问答-------------------- 如果光走的list   怀疑是事务导致了数据回滚 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 没有走缓存,确实到数据库里了。我是直接save(many) 这样保存,保存Many,不会修改one的。 --------------------编程问答-------------------- 别沉呀,小弟急用呢,各位大师帮帮忙呀
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,