Tengo una clase abstracta y dos subclases que la amplían. Tengo el siguiente en el archivo de configuración de primaveraspring @ Anotación de Transactional
<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" />
En mi clase abstracta que tengo los siguientes métodos
public void importDataToDB(){
//all the good stuff goes in here
}
@Transactional
public void executeInsertUpdateQuery(){
//all the good stuff goes in here
}
Mi código java
ImportConfigFiles importConfigFiles = (ImportConfigFiles)context.getBean("importConfigFile");
importConfigFiles.setFileLocation(destPath);
importConfigFiles.importDataToDB();
esto no funciona. executeInsertUpdateQuery() ejecuta solo una consulta SQL nativa. Si pongo @Transactional en imortDataToDB() funciona, pero luego hace que mi transacción sea enorme, ya que dentro de ese método recorro todas las filas de un archivo e inserto los registros en db.
Gracias por la respuesta rápida. – user373201