Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc SpringMVC和JPA项目中太多的本机查询是正常的吗?_Spring Mvc - Fatal编程技术网

Spring mvc SpringMVC和JPA项目中太多的本机查询是正常的吗?

Spring mvc SpringMVC和JPA项目中太多的本机查询是正常的吗?,spring-mvc,Spring Mvc,项目技术栈:我正在为一个使用SpringMVC的项目工作。我们将JPA用于ORM。 sql数据库是MySQL 问题:应用程序中的业务逻辑变得非常复杂。为了从应用程序中获取数据,代码使用了大量具有多个联接的本机SQL查询 这在创建集成测试用例时会产生很多问题。发生这种情况的原因是,当使用JPA的实体管理器持久化实体时,该实体位于一级缓存中。现在,当下一个用本机SQL编写的获取查询尝试获取数据时,它无法。这是因为本机sql查询总是转到数据库,而一级缓存在整个测试用例执行后与数据库同步 我想知道是否有

项目技术栈:我正在为一个使用SpringMVC的项目工作。我们将JPA用于ORM。 sql数据库是MySQL

问题:应用程序中的业务逻辑变得非常复杂。为了从应用程序中获取数据,代码使用了大量具有多个联接的本机SQL查询

这在创建集成测试用例时会产生很多问题。发生这种情况的原因是,当使用JPA的实体管理器持久化实体时,该实体位于一级缓存中。现在,当下一个用本机SQL编写的获取查询尝试获取数据时,它无法。这是因为本机sql查询总是转到数据库,而一级缓存在整个测试用例执行后与数据库同步


我想知道是否有解决方法?

'flush`在执行查询之前…或者使用非本机查询,JPA应该自动为您刷新。@Deinum flush没有帮助。如果我添加flush,我将不得不在每次本机查询之前执行它。我目前在项目中有大约500-700个本机查询。