Я думаю, что мой менеджер транзакций вообще не работает.При вставке в базу данных значение автоинкремента увеличивается, но новые данные не добавляются.Я определяю менеджер транзакций, шаблон jdbc и источник данных программно.Менеджер транзакций:
@Bean("txManager")
public DataSourceTransactionManager dataSourceTransactionManager(
BasicDataSource basicDataSource) {
return new DataSourceTransactionManager(basicDataSource);;
}
Шаблон JDBC:
@Bean
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(
BasicDataSource basicDataSource) {
return new NamedParameterJdbcTemplate(basicDataSource);
}
Источник данных:
@Bean
public BasicDataSource basicDataSource() {
BasicDataSource dataSource = new BasicDataSource();
// ...
dataSource.setDefaultAutoCommit(false);
// ...
return dataSource;
}
Служба:
@Override
@Transactional("txManager")
public User register(RegistrationForm registrationForm) {
User userToRegister = UserMapper.registrationFormToUser().apply(registrationForm);
encryptPassword(userToRegister);
return userDao.insert(userToRegister);
}
Вот журнал отладки:
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Fetching JDBC Connection from DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Returning JDBC Connection to DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] JdbcTemplate - Executing SQL update and returning generated keys
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] JdbcTemplate - Executing prepared SQL statement [INSERT INTO "user" (first_name, last_name, email, password, role_id) VALUES (?, ?, ?, ?, ?)]
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Fetching JDBC Connection from DataSource
[DEBUG] [2018-12-07 10:37:35] [http-nio-8080-exec-10] DataSourceUtils - Returning JDBC Connection to DataSource
Что я делаю не так?