Проверьте, успешно ли транзакция JDBCClient успешно проходила в Java SpringJAVA

Программисты JAVA общаются здесь
Anonymous
Проверьте, успешно ли транзакция JDBCClient успешно проходила в Java Spring

Сообщение Anonymous »

Мне нужно вставить одну строку данных в две разные таблицы. Поскольку таблицы связаны, я сгруппировал вставку в транзакцию , чтобы они вели себя как атомная операция.
Мой код следует:

Код: Выделить всё

    String query = """
BEGIN TRANSACTION;

INSERT INTO usuario (
email,
senha,
nome,
status
)
VALUES (
:email,
:senha,
:nome,
'Ativo'
);

INSERT INTO organizador (
id,
cpf_cnpj
)
VALUES (
(
SELECT us.id
FROM usuario AS us
WHERE us.email = :email AND us.senha = :senha
),
:cpf
);

COMMIT;
""";

int res = jdbcClient
.sql(query)
.param("email", email)
.param("senha", senha)
.param("nome", nome)
.param("cpf", cpf)
.update();

System.out.println("result: " + res);

return res == 2;
После запуска я могу проверить pgadmin и проверить, что строки были правильно вставлены.
Однако при проверке переменной res , чтобы увидеть, сколько рядов повлияло, это значение всегда 0. Я считаю, что это не то, что я не является простой, но транзакцией. Моя транзакция успешно превышала или нет?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ava-spring

Вернуться в «JAVA»