- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我认为我的事务管理器根本不起作用。在插入数据库时自动增量值增加,但没有添加新数据。我以编程方式定义事务管理器、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
我做错了什么?
最佳答案
看来您的 Spring 配置类中缺少 @EnableTransactionManagement
关于java - Spring DataSourceTransactionManager 不提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665967/
我有以下我想模拟的代码。我基本上对模拟 DataSourceTransactionManager 感兴趣。 @Autowired @Qualifier("nesTransactionM
我认为我的事务管理器根本不起作用。在插入数据库时自动增量值增加,但没有添加新数据。我以编程方式定义事务管理器、jdbc 模板和数据源。交易经理: @Bean("txManager") public
org.springframework.jdbc.datasource.DataSourceTransactionManager有什么区别和 org.springframework.batch.sup
我正在尝试使用 Hibernate 和 Spring DataSourceTransactionManager 来处理提交和回滚功能,但我可能什么也没得到。 在使用 Spring DataSource
在我的应用程序中,我使用基于注释的 Spring 配置。 我正在使用 @ComponentScan (而且效果很好)。现在我正在尝试使用 @EnableTransactionManagement 添加
在使用 spring 和 hibernate 构建应用程序时,如果我使用 DataSourceTransactionManager,则出现异常时,它不会回滚。似乎它在不同
我正在将 WebLogic 10.3.3 与 Oracle 11g 一起使用,一旦我从 Spring ResourcelessTransactionManager 切换,就会面临 Spring Bat
下面有什么用: org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.datasource.DataSourceTra
简而言之,当我在几分钟没有使用事务后尝试获取连接时,第一个事务设置失败。 当一切正常运行时,我的日志显示简单事务的以下内容: DEBUG: org.springframework.transactio
在 Spring 中连接事务管理器的典型 XML 如下所示: .... properties go here .... 如何使用代码完成同样的事情? @Configurati
我是一名优秀的程序员,十分优秀!