Como verificar um objeto em minha lista?

5 respostas
java
Dayson_Rodrigues

Possuo um método aonde irei salvar o Fabricante, só que antes de salvar quero saber se esse fabricante existe e fazer uma verificação, caso já exista caia em uma Exceção.

public void salvar(Fabricante fabricante) {
		List<Fabricante> fabricantes = buscarTodos();
		try{
				manager.merge(fabricante);
		}catch (Exception e) {
			throw new PersistenceException("Já Existe um Fabricante");
		}
	}

5 Respostas

Lucas_Camara

O critério que irá definir se o fabricante existe será pelo que? Pelo Nome? CNPJ?

Após definir esse critério, crie um consulta que faça um count na tabela filtrando pelo dado que será o critério definido. Se retornar mais do que 0, significa que o fabricante existe na base de dados.

Dayson_Rodrigues

Seria somente a verificação sobre o nome, preciso de alguma exemplo. porque meu nivel de conhecimento é muito pouco.

Aporo

Da uma lida nos métodos equals e contais

Dayson_Rodrigues

hum… pelo que entido, equals é da Classe String e o cotains é quando uso Herança.

Na verdade, é minha duvida é simples, como estou entrando na area agora, sinto essa dificuldade.

Lucas_Camara

Crie um método que consulte a quantidade de fornecedores pelo nome (de forma exata). Caso a consulta retorne pelo menos 1, significa que já existe um fornecedor com o nome informado. Com isso, basta fazer a tratativa e retornar a exceção. Veja:

public void salvar(Fabricante fabricante) {
	if(verificarExistenciaPorNome(fabricante.getNome())) {
		throw new NegocioException("Já existe um fabricante com o nome informado.");
	}
	
	manager.merge(fabricante);
}

public boolean verificarExistenciaPorNome(String nome) {
	int count = // execute o SQL: select count(1) from fornecedor where nome = :nome
	return count > 0;
}
Criado 3 de julho de 2017
Ultima resposta 5 de jul. de 2017
Respostas 5
Participantes 3