Recuperar ID de item salvo no banco que usa sequence
4 respostas
F
fr4nc0w
Dae galera blz?
Então o problema é o seguinte.
eu tenho um cadastro de perguntas e questoes…e é NxN(nao por mim por mim seria 1questionario X nperguntas), masss a dba não ta afim de colabora.
Ai eu preciso inserir os dados da pergunta e das questoes e depois preencher a tabela QuestionarioPergunta, com as Fk’s correspondentes de cada um deles.
Problema é, como recuperar o ID tanto de questoes como de perguntas, e dai enviar no insert para Questionarioperguntas?
Tem como recuperar o ID de um item salvo com sequence?
publicIntegersave(Perguntapergunta){Map<String,Object>paramSource=newHashMap<String,Object>();paramSource.put("GETPERCODIGO",pergunta.getPercodigo());paramSource.put("GETPERTEXTO",pergunta.getPertexto());Stringsql="";/*Nullpointexceptiontratarsempreassimporquedeucerto**percodigoint2*pertextovarchar*/if(pergunta.getPercodigo()==null){sql="INSERT INTO public.pergunta (pertexto) VALUES (:GETPERTEXTO) RETURNING percodigo";}else{sql="UPDATE public.pergunta SET percodigo = :GETPERCODIGO, pertexto = :GETPERTEXTO WHERE percodigo = :GETPERCODIGO";}returnthis.getSimpleJdbcTemplate().getNamedParameterJdbcOperations().update(sql,paramSource);}
Tentando mudando apenas o sql retorno esse problema abaixo:
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO public.pergunta (pertexto) VALUES (?) RETURNING percodigo]; SQL state []; error code [0]; Um resultado foi retornado quando nenhum era esperado.; nested exception is org.postgresql.util.PSQLException: Um resultado foi retornado quando nenhum era esperado.
root cause
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO public.pergunta (pertexto) VALUES (?) RETURNING percodigo]; SQL state []; error code [0]; Um resultado foi retornado quando nenhum era esperado.; nested exception is org.postgresql.util.PSQLException: Um resultado foi retornado quando nenhum era esperado.
root cause
org.postgresql.util.PSQLException: Um resultado foi retornado quando nenhum era esperado.
note The full stack traces of the exception and its root causes are available in the GlassFish/v3 logs.