英文:
Spring Jdbc 4 transaction management
问题
我对Spring还很陌生(即使是我目前使用的4.0.3版本)。在某些代码中,我必须进行扩展,JdbcTemplate
被唯一使用,一个实例在多个对象之间共享,以便将所有的SQL语句放在同一个事务下。我想使用NamedParameterJdbcTemplate
,所以我通过以下方式获取一个实例:
NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate.getDataSource());
不幸的是,npJT
和givenJdbcTemplate
似乎没有共享同一个事务。这对我来说是个问题,我该如何解决这个问题,以便让我使用npJT
执行的所有SQL语句都与givenJdbcTemplate
在同一个事务中?
英文:
I'm new to Spring (even to version 4.0.3 that I am currently using). In some code I have to extend, JdbcTemplate
is uniquely used, an instance is shared among objects to keep all the sql statements under the same transaction. I'd like to use NamedParameterJdbcTemplate so I get one by using
NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate.getDataSource());
Sadly npJT
and givenJdbcTemplate
look not to share the same transaction. This is an issue for me, how can I overcome this problem and keep all the sql instruction I'll do by using npJT
in the same transaction as givenJdbcTemplate
?
答案1
得分: 0
只需使用另一个 构造函数,该构造函数可以将 JdbcTemplate 作为参数,并将您的 JdbcTemplate 传递给它。
NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate);
英文:
Just use the other constructor which can take a JdbcTemplate as a parmeter and pass your JdbcTemplate to it.
NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论