我目前正在使用Spring 4数据存储库使用hibernate 5.2和JPA 2.0。
我已经启用了休眠二级缓存,但是我也有一些本地查询。我一直在阅读有关执行本机查询时完全缓存移出的内容,我想知道Spring数据存储库是否存在避免这种情况的机制或注释。
在这里搜索时,我发现了这个solution,但由于我在Spring存储库中拥有整个持久层,因此它不适合我的项目。
本地查询的示例是这样:
@Modifying
@Query(value = "INSERT INTO statistics(entity_id, interactions, daily_date) VALUES (:entityId, 1, DATE_FORMAT(:day, '%Y-%m-%d')) ON DUPLICATE KEY UPDATE interactions = interactions + 1", nativeQuery = true)
void update(@Param("entityId") Integer entityId, @Param("day") ZonedDateTime day);
所有查询都遵循相同的结构,但是更改了目标表。我决定使用本机查询来管理MySQL并发。这些表将承受较高的数据负载。
谢谢!