Seguinte, como recupero um id inserido pela Stored Procedure (MySql) ?
Stored Procedure:
DELIMITER $$
DROP PROCEDURE IF EXISTS `cuser` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `cuser`(
IN p_USNOME VARCHAR(50),
INOUT ID INT(10)
)
BEGIN
INSERT INTO tb_usuario
(
USNOME
)
VALUES
(
p_USNOME
);
SELECT last_insert_id() INTO ID;
END $$
DELIMITER ;
====================
A tabela tb_usuario é auto-increment !
Funciona certinho !
Só não sei como buscar esse ID pelo código Java
Entity
@Table(name="tb_usuario", schema="test")
@org.hibernate.annotations.SQLInsert(sql = "call cuser ( ?, ?)", callable = true)
public class Usuario {
@Column(updatable = true, name = "usnome", nullable = true, length = 50)
private String usNome;
@Id
public int id;
getters and setters....
ps: Nao posso definir nenhum @GeneratedValue porque nao sei o id q será inserido. Se eu colocar qq coisa, no meu getId() depois vai ter essa ‘qualquer coisa’. E quero o ID inserido na tabela pela Stored procedure !
Eu tenho não sei o id, ele vai ser criado (incrementado) na tabela, e quero conseguir busca-lo.<<
Alguém sabe ?
ps2: Nao me perguntem pquê SProced - normas da empresa.