Весна - Mybatis перезагрузить фрагмент из XML - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть веб-приложение, использующее JRebel (7) и Spring-Mybatis (1.3.1)

Когда я изменяю sql statement внутри файла сопоставления XML во время работы AppServer (Tomcat 8), обновленный SQL выполняет , выполняемый платформой.

<select ... >

Если я изменю sql fragment в XML-файле, изменения не будут отражены в выполненном запросе, пока я не перезапущу сервер приложений.

<sql ... >

Есть ли способ перезагрузить Sql fragment из файла через конфигурацию или вызов Java?

1 Ответ

0 голосов
/ 07 сентября 2018

Я нашел один путь ...

В моем AppConfig я определяю bean-компонент, который предоставляет SqlSessionFactory с областью действия prototype - затем он повторно создает bean-компонент при каждом запросе, и кэширование нарушается. Это, конечно, крайне неэффективно; но это отличный обходной путь на ПК разработчика, пока вы работаете над фрагментом SQL:

@Bean
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public SqlSessionFactory sqlSessionFactory() throws Exception {
    ...
}
...