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.
publicvoidsalvar(Fabricantefabricante){List<Fabricante>fabricantes=buscarTodos();try{manager.merge(fabricante);}catch(Exceptione){thrownewPersistenceException("Já Existe um Fabricante");}}
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:
publicvoidsalvar(Fabricantefabricante){if(verificarExistenciaPorNome(fabricante.getNome())){thrownewNegocioException("Já existe um fabricante com o nome informado.");}manager.merge(fabricante);}publicbooleanverificarExistenciaPorNome(Stringnome){intcount=// execute o SQL: select count(1) from fornecedor where nome = :nomereturncount>0;}