Я использую смесь имены Pparameterjdbctemplate и Jdbctemplate в моем приложении Spring API. Я работаю с таблицей Transaction и Oracle Temp, и не получаю результатов, которые я ожидаю. Но я поворачиваюсь и читаю таблицу, в который я только что вставил, и получаю нулевое количество рекордов. (Компания кода указывают результаты по пути.) < /P>
I вставлена, затем попытаться прочитать, и чтение не находит записей. Должна ли сочетание TPL и NPTPL быть в порядке внутри @Transactional? -Верд "> @Bean
public JdbcTemplate tpl(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
@Bean
public NamedParameterJdbcTemplate npTpl(DataSource dataSource) {
return new NamedParameterJdbcTemplate(dataSource);
}
< /code>
мой класс DAO начинается так же, как это: < /p>
@Repository
public class PageDAO extends AbstractDAO {
@Autowired
private DataSource dataSource;
@Autowired
@Qualifier("npTpl")
private NamedParameterJdbcTemplate npTpl;
@Autowired
private JdbcTemplate tpl;
< /code>
А позже это выполненный метод DAO < /p>
@Transactional
public List getData(Map parameterMap,
String storedProcName, Long planId) throws SQLException {
String sql = "insert into TempParameter (tepaovpaSystemString, tepaovpaValue) values (:systemString, :value)";
try {
MapSqlParameterSource[] batchParams = parameterMap
.entrySet().stream().map(entry -> new MapSqlParameterSource()
.addValue("systemString", entry.getKey()).addValue("value", entry.getValue()))
.toArray(MapSqlParameterSource[]::new);
// before run, batchParams = [MapSqlParameterSource {systemString=PARAMSYSTEMSTRING, value=CALCS1}, MapSqlParameterSource {systemString=PLANID, value=33182}, MapSqlParameterSource {systemString=PERIODCODE, value=6226}, MapSqlParameterSource {systemString=PLEMID, value=-99}]
int[] batchResult = npTpl.batchUpdate(sql, batchParams);
// after run, batchResult = [1, 1, 1, 1]
int resultTest = 0;
try {
Integer columnCount = tpl.queryForObject("select count(*) from TempParameter", Integer.class);
resultTest = columnCount;
// after run, columnCount = 0
} catch (Exception e) {
log.error("Error retrieving column count", e);
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... ansactions