Gostaria de saber se alguém teria um método LOAD.
Mas este método load , eu estaria passando , por exemplo o CNPJ e trazendo o ID do objeto.
Eu preciso fazer isso , pois estou com um problema.
Quando eu vou ate o banco para recupera o cnpj por exemplo ( empresa.getCnpj() ) eu consigo… Mas quando eu tento buscar o id ( empresa.getId() ) , o retorno é Null.
Isso deve-se ao ID ser autoIncrement, ou algo assim?
vc quer passar o CNPJ e retornar o ID do Objeto que tem esse CNPJ!!
xD~~
edmarr
Posta ai a sua consulta dai fica mais fácil da gente lhe ajudar …
dugbuddy
Este é a classe empresa
/** * Classe que representa a empresa. * * @author Douglas * */@Entity@Table(name="EMPRESA")@SuppressWarnings("serial")publicclassEmpresaimplementsSerializable{/** Id da empresa */@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;/** CNPJ da empresa */@NotNull@Column(name="CNPJ")@Length(max=20)privateStringcnpj;/** * Recupera a propriedade id * * @return O valor da propriedade id */publicLonggetId(){returnid;}/** * Configura a propriedade id * * @param id * Novo valor para a propriedade id to set */publicvoidsetId(Longid){this.id=id;}/** * Recupera a propriedade cnpj * * @return O valor da propriedade cnpj */publicStringgetCnpj(){returncnpj;}/** * Configura a propriedade cnpj * * @param cnpj * Novo valor para a propriedade cnpj to set */publicvoidsetCnpj(Stringcnpj){this.cnpj=cnpj;}
dugbuddy
Sim, eu quero um método LOAD que atraves do CNPJ eu possa recuperar o ID.
Eu estou usando Hibernate e Spring…
Estou achando que como o ID é autoIncrement o get não esta funcionando.
vou postar minha servlet pra vcs darem uma olhada
dugbuddy
Empresa.java
@SuppressWarnings("serial")publicclassEmpresaServletextendsHttpServlet{@SuppressWarnings("unchecked")@OverridepublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// Recupera o contexto da aplicação spring.WebApplicationContextcontext=WebApplicationContextUtils.getWebApplicationContext(getServletContext());// **********************************************************************************// Empresa// Recupera o manager de empresa para inclusão ou atualização.GenericManager<Empresa,Long>empresaManager=(GenericManager<Empresa,Long>)context.getBean("empresaManager");Empresaempresa=newEmpresa();StringfotmatedValue=(request.getParameter("cnpj"));empresa.setCnpj(fotmatedValue);// ... Preenche e valida...ClassValidatorempresaValidator=newClassValidator(Empresa.class);InvalidValue[]invalidValues=empresaValidator.getInvalidValues(empresa);if(invalidValues.length==0){// Se tiver ok, salva.try{empresaManager.save(empresa);}catch(Exceptione){request.setAttribute("erros",Collections.singletonList("Sistema indisponível"));e.printStackTrace();}// ***************************************************************************************************************LongidEmpresa=empresa.getId();empresaManager.get(idEmpresa);empresa.setContatoComercial(lista);empresa.setPerfilVagas(listaPerfilVaga);empresaManager.save(empresa);try{empresaManager.save(empresa);}catch(Exceptione){request.setAttribute("erros",Collections.singletonList("Sistema indisponível"));e.printStackTrace();}request.getRequestDispatcher("cadastraSucesso.jsp").forward(request,response);}else{List<String>erros=newArrayList<String>();for(InvalidValueinvalidValue:invalidValues){erros.add(invalidValue.getMessage());}request.setAttribute("erros",erros);request.getRequestDispatcher("index.html").forward(request,response);}}}
dugbuddy
Edmar,
Eu postei a consulta ai…
Veja se tem algo de errado ou algo que eu possa melhorar.
obrigado
francislon
Na parte onde vc declara a variavel id:
[code /** Id da empresa */ @Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id; [/code]
Vc não precisa dizer qual a coluna que vc está referenciado?
dugbuddy
Então … isso que não sei …
eu tenho que declarar… como eu faria isso ?