hibernate二级缓存与一一对应关系

标签 hibernate

我有一个实体,我想在二级缓存中缓存,但它经常更新(通过 hibernate ),这使得它不适合二级缓存。

但是,只有 2 个字段经常更改,其他列经常读取并且非常静态。

将那些频繁更改的字段移动到另一个表并与这个新实体创建一对一关系是否有好处?这样我就可以缓存原始实体,现在列已被删除,而不必费心缓存新实体。或者可能会因为频繁的 select 调用而失去任何获得的好处?

我知道我必须自己进行分析才能确定,但​​我想检查一下我是否走在正确/理智的道路上。

最佳答案

如果您在主对象和外部化部分之间使用延迟加载连接,并且您不经常需要外部部分(如果有帮助)。

如果您经常需要外部部分,那将没有帮助,因为您总是需要以任何方式访问数据库。 -- 一个异常(exception)是:如果您的主对象非常非常大并且数据库连接非常慢。

但至少你是对的:你需要自己测试一下。

关于hibernate二级缓存与一一对应关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4966403/

相关文章:

java - 如何使用条件、分离条件和子查询检索对象

mysql - 我可以在 JPA 中按顺序对值求和吗?

java - 如何使用 Hibernate 在表中插入新行?

hibernate - JPA 似乎强制包之间的循环依赖

java - 对数据库的更改不会保存到下次运行吗?

java - 结合 delete-orphan 和 where 条件

java - Spring MVC + hibernate : How to handle form with relation

java - Hibernate + SQLite 数据库外部 jar

java - spring jdbc 优于 hibernate

java - 关于事务和事件监听器