我在项目中配置了hibernate多数据源,使用的sqlite库,每个数据源的数据结构完全一样(别问为什么,老板要求的···)。不同的库中,相同的表,id会有重复。比如a库的table1,有id 0 1 2···在b库的table1中也会有id 0 1 2,由于数据量比较大,并且数据绝不会出现在线修改的情况,所以使用了ehcache做了read-only的缓存。问题来了,由于缓存是根据持久化类的id来做key的,所以缓存混乱,比如第一个用户访问了a库table1的某一条记录,id为0,第二个用户访问b库table1的记录,id也为0,则第二个用户拿到的记录实际上并不是b库的,而是a库的。
除了修改id使得不同库的同一张表也不会出现相同id这个办法之外,是否还有其他解决途径。比如修改二级缓存配置,区分不同的库,或者每个库单独设置二级缓存···这是小弟第一次使用hibernate的二级缓存,菜鸟一枚,求助!hibernateehcache多数据源缓存