Taller 5- Verificar si existe al guardar
Usaremos una búsqueda para determinar si existe o no ese documento en la colección
Optional<Persona> optional = personaRepository.findById(persona);
if (optional.isPresent()) {
JsfUtil.warningMessage("Existe una persona con esa cedula");
return null;
}
Desabilitar la busqueda por @Id automáticamente, usamos repository.save(entity,false)
if (personaRepository.save(persona,false)) {
JsfUtil.successMessage("Guardado");
} else {
JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
}
Segmento de código
public String save() {
try {
Optional<Persona> optional = personaRepository.findById(persona);
if (optional.isPresent()) {
JsfUtil.warningMessage("Existe una persona con esa cedula");
return null;
}
if (personaRepository.save(persona, false)) {
JsfUtil.successMessage("Guardado");
} else {
JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
}
} catch (Exception e) {
JsfUtil.errorDialog("save()", e.getLocalizedMessage());
}
return "";
}
}
PersonaController
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.avbravo.practica.controller;
import com.avbravo.jmoordb.mongodb.history.repository.RevisionHistoryRepository;
import com.avbravo.jmoordb.services.RevisionHistoryServices;
import com.avbravo.jmoordbutils.JsfUtil;
import com.avbravo.practicaejb.entity.Persona;
import com.avbravo.practicaejb.repository.PersonaRepository;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.annotation.PostConstruct;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
/**
*
* @author avbravo
*/
@Named
@ViewScoped
public class PersonaController implements Serializable {
Persona persona = new Persona();
@Inject
PersonaRepository personaRepository;
List<Persona> personaList = new ArrayList<>();
public List<Persona> getPersonaList() {
// return personaList;
return personaRepository.findAll();
}
public void setPersonaList(List<Persona> personaList) {
this.personaList = personaList;
}
public Persona getPersona() {
return persona;
}
public void setPersona(Persona persona) {
this.persona = persona;
}
@PostConstruct
public void init() {
}
public String save() {
try {
Optional<Persona> optional = personaRepository.findById(persona);
if (optional.isPresent()) {
JsfUtil.warningMessage("Existe una persona con esa cedula");
return null;
}
if (personaRepository.save(persona, false)) {
JsfUtil.successMessage("Guardado");
persona = new Persona();
} else {
JsfUtil.errorDialog("no se guardo()", personaRepository.getException().toString());
}
} catch (Exception e) {
JsfUtil.errorDialog("save()", e.getLocalizedMessage());
}
return "";
}
}
Last updated
Was this helpful?