我有一個抽象類和兩個子類來擴展它。我在Spring配置文件spring @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" />
以下在我的抽象類,我有以下方法
public void importDataToDB(){
//all the good stuff goes in here
}
@Transactional
public void executeInsertUpdateQuery(){
//all the good stuff goes in here
}
我的Java代碼
ImportConfigFiles importConfigFiles = (ImportConfigFiles)context.getBean("importConfigFile");
importConfigFiles.setFileLocation(destPath);
importConfigFiles.importDataToDB();
這是行不通的。 executeInsertUpdateQuery()只執行一個本地sql查詢。如果我將@Transactional放在imortDataToDB()上,它可以工作,但是這會使我的事務變得很大,因爲在該方法中,我循環遍歷文件中的所有行並將記錄插入到db中。
感謝您的快速響應。 – user373201