Método Recupera Id

Olá,

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?

Muito obrigado desde já

[]´s

Como está escrita sua consulta no método getID?

Cara…

deixa eu ver se eu entendi…

vc quer passar o CNPJ e retornar o ID do Objeto que tem esse CNPJ!!

xD~~

Posta ai a sua consulta dai fica mais fácil da gente lhe ajudar …

Este é a classe empresa

/**
 * Classe que representa a empresa.
 * 
 * @author Douglas
 * 
 */
@Entity
@Table(name = "EMPRESA")
@SuppressWarnings("serial")
public class Empresa implements Serializable {

	/** Id da empresa */
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;


	/** CNPJ da empresa */
	@NotNull
	@Column(name = "CNPJ")
	@Length(max = 20)
	private String cnpj;


	/**
	 * Recupera a propriedade id
	 * 
	 * @return O valor da propriedade id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * Configura a propriedade id
	 * 
	 * @param id
	 *            Novo valor para a propriedade id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * Recupera a propriedade cnpj
	 * 
	 * @return O valor da propriedade cnpj
	 */
	public String getCnpj() {
		return cnpj;
	}

	/**
	 * Configura a propriedade cnpj
	 * 
	 * @param cnpj
	 *            Novo valor para a propriedade cnpj to set
	 */
	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

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

Empresa.java

@SuppressWarnings("serial")
public class EmpresaServlet extends HttpServlet {

	@SuppressWarnings("unchecked")
	@Override
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		// Recupera o contexto da aplicação spring.
		WebApplicationContext context = 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");

		Empresa empresa = new Empresa();
		String fotmatedValue = (request.getParameter("cnpj"));
		empresa.setCnpj(fotmatedValue);

		// ... Preenche e valida...
		ClassValidator empresaValidator = new ClassValidator(Empresa.class);
		InvalidValue[] invalidValues = empresaValidator
				.getInvalidValues(empresa);

		if (invalidValues.length == 0) {
			// Se tiver ok, salva.
			try {

				empresaManager.save(empresa);
				

			} catch (Exception e) {
				request.setAttribute("erros", Collections
						.singletonList("Sistema indisponível"));
				e.printStackTrace();
			}

			// ***************************************************************************************************************
			
			
			Long idEmpresa = empresa.getId();
			empresaManager.get(idEmpresa);			
			empresa.setContatoComercial(lista);
			empresa.setPerfilVagas(listaPerfilVaga);
			empresaManager.save(empresa);

			try {

				empresaManager.save(empresa);

			} catch (Exception e) {
				request.setAttribute("erros", Collections
						.singletonList("Sistema indisponível"));
				e.printStackTrace();
			}

			request.getRequestDispatcher("cadastraSucesso.jsp").forward(
					request, response);

		} else {
			List<String> erros = new ArrayList<String>();
			for (InvalidValue invalidValue : invalidValues) {
				erros.add(invalidValue.getMessage());
			}

			request.setAttribute("erros", erros);
			request.getRequestDispatcher("index.html").forward(request,
					response);

		}

	}

}

Edmar,

Eu postei a consulta ai…

Veja se tem algo de errado ou algo que eu possa melhorar.

obrigado

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?

Então … isso que não sei …
eu tenho que declarar… como eu faria isso ?

@Column(name = “id”)