Olá galera, boa noite…
Estou com uma grande dúvida, tenho duas tabelas, uma de Fornecedor e outra de produtos que gera uma tabela associativa Estoque. Sendo que quando vou cadastrar os produtos no estoque quero somente as FKs das tabelas ou seja id_Produto e cnpj, quando pego o composite_Id(objeto) ele pega todos os campos das tabelas. Quero somente as chaves. Resumindo quero cadastrar um produto em estoque pegando apenas os seus ids do produto e fonnecedor.
Segue exemplo do que está sendo feito.
package br.com.sgsb.controller;
import br.com.sgsb.model.bean.EstoqueNovo;
import br.com.sgsb.model.bean.Fornecedor;
import br.com.sgsb.model.bean.Produto;
import br.com.sgsb.model.bean.Servico;
import br.com.sgsb.model.bean.Usuario;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.sgsb.model.dao.HibernateDAO;
import br.com.sgsb.util.FormatandoDatas;
import br.com.sgsb.util.HibernateUtil;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;
import org.hibernate.Session;
/**
- Servlet implementation class for Servlet: HibernateTester
*/
public class EstoqueNovoServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
* /**
* id_Usuario` int(10) unsigned NOT NULL auto_increment,
`nome` varchar(60) NOT NULL default '',
`cpf` int(10) unsigned default NULL,
`rg` int(10) unsigned default NULL,
`tel_Res` int(10) unsigned NOT NULL default '0',
`tel_Cel` int(10) unsigned default NULL,
`est_Civil` varchar(15) NOT NULL default '',
`email` varchar(45) default NULL,
`dt_Nasc` date NOT NULL default '0000-00-00',
`sexo` varchar(1) NOT NULL default '',
`senha` varchar(10) NOT NULL default '',
`id_Endereco` int(10) unsigned NOT NULL default '0',
`id_Perfil` int(10) unsigned NOT NULL default '0',
* @author Thiago
*/
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String cmd = request.getParameter("cmd");
HttpSession sessao = request.getSession();
if (cmd == null) {
cmd = "principal";
}
EstoqueNovo etqNovo = new EstoqueNovo();
Usuario usr = new Usuario();
EstoqueNovo compositeId = new EstoqueNovo();
Fornecedor forn = new Fornecedor();
Produto prod = new Produto();
FormatandoDatas data = new FormatandoDatas();
String msg = null;
if (cmd != null || !cmd.equalsIgnoreCase("principal")) {
if (request.getParameter("id_Produto") != null) {
prod.setId_Produto(Integer.parseInt(request.getParameter("id_Produto")));
}
if (request.getParameter("nome") != null) {
prod.setNome(request.getParameter("nome"));
}
if (request.getParameter("descricao") != null) {
prod.setDescricao(request.getParameter("descricao"));
}
//atributos de Fornecedor
if (request.getParameter("cnpj") != null) {
forn.setCnpj(Double.parseDouble(request.getParameter("cnpj")));
}
if (request.getParameter("razao_Social") != null) {
forn.setRazao_Social(request.getParameter("razao_Social"));
}
if (request.getParameter("nome_Fant") != null) {
forn.setNome_Fant(request.getParameter("nome_Fant"));
}
if (request.getParameter("insc_Est") != null) {
forn.setInsc_Est(request.getParameter("insc_Est"));
}
if (request.getParameter("nome_Contato") != null) {
forn.setNome_Contato(request.getParameter("nome_Contato"));
}
if (request.getParameter("tel") != null) {
forn.setTel(Integer.parseInt(request.getParameter("tel")));
}
if (request.getParameter("email") != null) {
forn.setEmail(request.getParameter("email"));
}
//Atributos de EstoqueNovo
if (request.getParameter("id_EstoqueNovo") != null) {
etqNovo.setId_EstoqueNovo(Integer.parseInt(request.getParameter("id_EstoqueNovo")));
}
if (request.getParameter("qtd_Saida") != null) {
etqNovo.setQtd_Saida(Integer.parseInt(request.getParameter("qtd_Saida")));
}
if (request.getParameter("qtd_Entrada") != null) {
etqNovo.setQtd_Entrada(Integer.parseInt(request.getParameter("qtd_Entrada")));
}
if (request.getParameter("nf") != null) {
etqNovo.setNf(request.getParameter("nf"));
}
if (request.getParameter("dt_Entrada") != null) {
etqNovo.setDt_Entrada(request.getParameter("dt_Entrada"));
}
if (request.getParameter("valor_Compra") != null) {
etqNovo.setValor_Compra(Double.parseDouble(request.getParameter("valor_Compra")));
}
if (request.getParameter("valor_Venda") != null) {
etqNovo.setValor_Venda(Double.parseDouble(request.getParameter("valor_Venda")));
}
if (request.getParameter("dt_Saida") != null) {
etqNovo.setDt_Saida(request.getParameter("dt_Saida"));
}
if (request.getParameter("dt_Validade") != null) {
etqNovo.setDt_Validade(request.getParameter("dt_Validade"));
}
if (request.getParameter("dt_Fabricacao") != null) {
etqNovo.setDt_Fabricacao(request.getParameter("dt_Fabricacao"));
}
// Objeto CompositeId da associativa Produto_Fornecedor
compositeId.setFornecedor(forn);
compositeId.setProduto(prod);
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
HibernateDAO<Produto> produtoDAO = new HibernateDAO<Produto>(Produto.class, session);
HibernateDAO<Fornecedor> fornecedorDAO = new HibernateDAO<Fornecedor>(Fornecedor.class, session);
HibernateDAO<Usuario> usuarioDAO = new HibernateDAO<Usuario>(Usuario.class, session);
HibernateDAO<Servico> servicoDAO = new HibernateDAO<Servico>(Servico.class, session);
HibernateDAO<EstoqueNovo> etqNovoDAO = new HibernateDAO<EstoqueNovo>(EstoqueNovo.class, session);
RequestDispatcher rd = null;
if (cmd.equalsIgnoreCase("listar")) {
List usuariosList = usuarioDAO.getBeans();
request.setAttribute("usuariosList", usuariosList);
rd = request.getRequestDispatcher("/administracao/mostrarUsuarios.jsp");
} else if (cmd.equalsIgnoreCase("carregaCombo")) {
List produtoList = produtoDAO.getBeans();
if (produtoList != null) {
sessao.setAttribute("produtoList", produtoList);
List fornecedorList = fornecedorDAO.getBeans();
if (fornecedorList != null) {
sessao.setAttribute("fornecedorList", fornecedorList);
rd = request.getRequestDispatcher("/estoqueNovo/cad_Estoque.jsp");
}
}
} else if (cmd.equalsIgnoreCase("associativa_fornecedor_produto")) {
etqNovoDAO.salvar(compositeId);
etqNovoDAO.salvar(etqNovo);
sessao.setAttribute("compositeId", compositeId);
rd = request.getRequestDispatcher("teste.jsp");
}
/* }
* else if (cmd.equalsIgnoreCase("procurarUsrMat")) {
usr = usuarioDAO.getBean(usr.getMat());
sessao.setAttribute("usr", usr);
List CategoriasList = categoriaDAO.getBeans();
if (CategoriasList != null) {
sessao.setAttribute("CategoriasList", CategoriasList);
rd = request.getRequestDispatcher("/administracao/geracao_pedido.jsp");
}
} else if (cmd.equalsIgnoreCase("carregaComboSites")) {
List SitesList = sitesDAO.getBeans();
if (SitesList != null) {
sessao.setAttribute("SitesList", SitesList);
rd = request.getRequestDispatcher("HibernateTester?cmd=carregaComboEstacao");
}
} else if (cmd.equalsIgnoreCase("carregaComboEstacao")) {
List listaEstacao = estacaoDAO.getBeans();
if (listaEstacao != null) {
sessao.setAttribute("listaEstacao", listaEstacao);
rd = request.getRequestDispatcher("/administracao/formInserindoDados.jsp");
}
} else if (cmd.equalsIgnoreCase("carregarComboTecnico")) {
List usuariosList = (List) usuarioDAO.getList(usr.getMat());
if (usuariosList != null) {
sessao.setAttribute("usuariosList", usuariosList);
rd = request.getRequestDispatcher("formAlocarTecnico.jsp");
}
} else if (cmd.equalsIgnoreCase("addusr")) {
usuarioDAO.salvar(usr);
rd = request.getRequestDispatcher("HibernateTester?cmd=listar");
} else if (cmd.equalsIgnoreCase("atu")) {
usuarioDAO.atualizar(usr);
sessao.setAttribute("usr", usr);
rd = request.getRequestDispatcher("HibernateTester?cmd=listar");
} else if (cmd.equalsIgnoreCase("listar")) {
usuarioDAO.atualizar(usr);
sessao.setAttribute("usr", usr);
rd = request.getRequestDispatcher("HibernateTester?cmd=listar");
} else if (cmd.equalsIgnoreCase("exc")) {
usuarioDAO.excluir(usr);
sessao.setAttribute("usr", usr);
rd = request.getRequestDispatcher("HibernateTester?cmd=listar");
} else if (cmd.equalsIgnoreCase("consultaUsrRegiao")) {
reg = sitesDAO.getBean(reg.getId_regiao());//carrege todos os sites por regiao
// List<Funcionario> usuarios = reg.getUsuarios();
//usuarios = (List<Funcionario>) usuarioDAO.getBean(usr.getNome());
//for (Funcionario usuario : usuarios) {
// request.setAttribute("usuarios", usuarios);
rd = request.getRequestDispatcher("/administracao/mostrarUsuarios.jsp");
// System.out.println("Nome:" + reg.getUsuarios());
*/
session.getTransaction().commit();
rd.forward(request, response);
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e);
}
}
}
}
Agradeço desde já a atenção