Hibernate 休眠缓存负面命中

Hibernate 休眠缓存负面命中,hibernate,spring,ehcache,Hibernate,Spring,Ehcache,我有两张来自两个不同部门的表格: 客户 ID 县 状态 姓名、年龄等 计费率(县/州的复合ID) 县 状态 价格 在Hibernate中,我在复合外键(县/州)上定义了@manytone关系。我接着说: 每个客户都有一个县/州,但不是每个县/州对都在计费表中表示。当我加载一些客户实体时,我得到关系的EntityNotFoundException异常。根据我在这里的阅读(和我一样的问题):看起来每个关系都需要存在,尽管你可以使用@NotFound(action=IGNORE)标记。嗯,我也这么做

我有两张来自两个不同部门的表格:

客户
ID

状态
姓名、年龄等

计费率(县/州的复合ID)

状态
价格

在Hibernate中,我在复合外键(县/州)上定义了@manytone关系。我接着说:

每个客户都有一个县/州,但不是每个县/州对都在计费表中表示。当我加载一些客户实体时,我得到关系的EntityNotFoundException异常。根据我在这里的阅读(和我一样的问题):看起来每个关系都需要存在,尽管你可以使用@NotFound(action=IGNORE)标记。嗯,我也这么做了,它工作正常,但我仍然有一个问题。Hibernate不会缓存负面点击,因此如果未找到县/州对,则会忽略异常,但不会缓存“缺少数据”的信息,因此每次都会按需重新加载关系。因此,当我对关系执行左连接提取时,它实际上对我没有任何作用。而且,批处理获取不起任何作用,我必须一次加载一个,我说的是数千个实体


我能做些什么来解决这个问题?DB是否设计错误???谢谢

不幸的是,Hibernate第二级缓存(你认为是吗?)不支持使用复合标识符缓存对象