我有一个 WebApp 使用JRebel (7)和Spring-Mybatis (1.3.1)当我sql statement在运行时更改XML mapper文件内部时AppServer (Tomcat 8),更新的文件SQL 确实由框架执行。<select ... >如果我更改文件sql fragment中的 an XML,更改不会反映在执行的查询中,直到我重新启动应用程序服务器。<sql ... >有没有办法Sql fragment通过配置或Java调用重新加载源文件?
2 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
我找到了一种方法...
在我的 AppConfig 中,我对提供 SqlSessionFactory 的 bean 进行prototype范围限定- 然后它在每个请求上重新创建 bean,并且缓存被破坏。这当然是非常低效的;但在开发人员 PC 上处理 SQL 片段时,这是一个很好的解决方法:
@Bean
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SqlSessionFactory sqlSessionFactory() throws Exception {
...
}
添加回答
举报
0/150
提交
取消