繁体   English   中英

Hibernate的一级缓存不适用于布尔类型吗?

[英]Hibernate's first level cache not working for boolean type?

我有一个spring @Transactional只读服务,它使用使用返回boolean的本机查询的方法跨越对JpaRepository多次调用。 该查询很繁琐,并且在检查日志时似乎使用相同的参数多次执行。 不应只被呼叫一次? 使用Spring Transactions时一级缓存不起作用吗? 是因为它返回的是boolean而不是@Entity吗?

一级缓存仅适用于EntityManagers可以管理的结果(即实体)。 (或Hibernate中的会话)

如果您想缓存其他对象或简单类型,我建议对某些缓存提供程序使用@Cacheable批注,例如EhCache LINK

编辑:

您自己的查询不是第一级缓存机制的一部分。 只有简单的操作,如持久化,合并,更新等才能使用它。 有关更多信息,请查看本文LINK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM