Existe a possibilidade de guardar o valor de uma FK na sessao ?
Exemplo:
Eu fiz um cadastro, gerou um valor para a FK(salvei essa fk na tabela).
Eu armazendo esse valor na sessao e fico usando esse valor ate o usuario fazer logoff.
E tenho q repetir o codigoRequisicao(FK) na tabela item_x_requisicao enquanto o usuario estiver logado…
Pq eu to inserindo uma requisicao de cada vez … Entenderam ? Eu tenho q repetir esse codigoRequisicao
por causa da normalizacao (banco de dados)… Eh mais ou menos isso!
O metodo salvar ja ta pronto, ta cadastrando certinho nas 2 tabelas, mas eh sempre um codigoRequisicao novo (cada vez q clico em salvar ).
Ai lembrei da ta sessao… Como eu faco isso ? To empacado no sistema q eu to fazendo. Resolvendo isso eu faco o resto tranquilo
public String salvar() {
ContextoBean contextoBean = ContextoUtil.getContextoBean();
FacesContext context = FacesContext.getCurrentInstance();
UsuarioRN usuarioRN = new UsuarioRN();
RequisicaoRN requisicaoRN = new RequisicaoRN();
ItemRN itemRN = new ItemRN();
ItemRequisicaoRN itemRequisicaoRN = new ItemRequisicaoRN();
StatusRN statusRN = new StatusRN();
ItemRequisicao itemRequisicao = new ItemRequisicao();
/*
* Salvando na tabela requisicao
*/
//pega objeto usuario (usuarioLogado)
Usuario usuarioLogado= usuarioRN.buscarPorLogin(contextoBean.getUsuarioLogado().getLogin()); //getUsuarioLogado
System.out.println("objeto usuario: " + usuarioLogado);
requisicao.setUsuario(usuarioLogado);
//Nova requisicao -> codigoStatus sempre = 1
codigoPendente = "pendente";
Status codigoStatus = statusRN.buscarPorNome(getCodigoPendente());
System.out.println(getCodigoPendente());
requisicao.setStatus(codigoStatus);
//GetDatahora do computador do cliente
Locale locale = new Locale("pt","BR");
GregorianCalendar calendar = new GregorianCalendar();
SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy' - 'HH':'mm'h'",locale);
String df = formatador.format(calendar.getTime());
System.out.println(formatador.format(calendar.getTime()));
requisicao.setDataHora(df);
requisicaoRN.salvar(requisicao);
/*
* Salvando na tabela item_x_requisicao
*/
//pega objeto item (item selecionado)
Item itemSelecionado= itemRN.buscarItem(itemBean.getItemm());
System.out.println(itemSelecionado);
itemRequisicao.setItem(itemSelecionado);
// Pega codigo da requisicao
Requisicao codigoRequisicaoAtual = requisicaoRN.buscarCodigoPendente(requisicao.getCodigo());
System.out.println("Codigo requisicao:" +codigoRequisicaoAtual);
itemRequisicao.setRequisicao(codigoRequisicaoAtual);
//Pega quantidade solicitada (pagina)
itemRequisicao.setQuantidadeSolicitada(qntSoli);
//Save
itemRequisicaoRN.salvar(itemRequisicao);
return "this.destinoSalvar";
}
Veja q com isso - > Requisicao codigoRequisicaoAtual = requisicaoRN.buscarCodigoPendente(requisicao.getCodigo());
o metodo sempre vai pegando um codigo requisicao novo…
Como eu posso fazer do jeito q eu falei acima ? To quebrando a cabeca com isso : /