У меня есть абстрактный класс и два подкласс, которые его расширяют. У меня есть следующие в весеннем конфигурационном файлеspring @Transactional annotation
<bean id="importConfigFile" class="xxx.ImportConfigFiles" parent="parentImportFile"></bean>
<bean id="importFile" class="xxx.ImportUMTSKPIFiles" parent="parentImportFile"></bean>
<bean id="parentImportFile" name="parentImportFile" class="xxx.ImportUMTSFiles" abstract="true"></bean>
<tx:annotation-driven transaction-manager="transactionManager" />
В моем абстрактном классе у меня есть следующие методы
public void importDataToDB(){
//all the good stuff goes in here
}
@Transactional
public void executeInsertUpdateQuery(){
//all the good stuff goes in here
}
Мой ява код
ImportConfigFiles importConfigFiles = (ImportConfigFiles)context.getBean("importConfigFile");
importConfigFiles.setFileLocation(destPath);
importConfigFiles.importDataToDB();
Это не работает. executeInsertUpdateQuery() выполняет только один собственный SQL-запрос. Если я положил @Transactional на imortDataToDB(), он работает, но затем он делает мою транзакцию огромной, поскольку внутри этого метода я просматриваю все строки в файле и вставляю записи в db.
Спасибо за быстрый ответ. – user373201