Ajuda tratamento de erro UNIQUE JPA/Spring/Hibernate

0 respostas
L

Quero tratar esse erro , tenho a classe Categoria onde o campo descricao é unico. Quero q quando acontecer de inserir um valor duplicado ele redirecione o usuario a uma pagina de erro

HTTP Status 500 - Request processing failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
package br.senai.sp.eazypatrimonio.controller;

import java.util.List;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import br.senai.sp.eazypatrimonio.dao.CategoriaDao;
import br.senai.sp.eazypatrimonio.modelo.Categoria;

@Transactional
@Controller
public class CategoriaController {

	@Autowired
	@Qualifier("jpaCategoriaDao")
	private CategoriaDao daoCategoria;

	@RequestMapping("formCategoria")
	public String formCategoria() {
		return "categoria/cadastro_categoria";
	}

	@RequestMapping("/addCategoria")
	public String insereCategoria(Categoria c) {
			if (c.getId() == null) {
				daoCategoria.inserir(c);
				return "redirect:formCategoria";
			} else {
				daoCategoria.alterar(c);
				return "redirect:listaCategorias";
			}
	}

	@RequestMapping("/listaCategorias")
	public String listaCategorias(Model model) {
		List<Categoria> listaCategorias = daoCategoria.buscarTodos();
		model.addAttribute("categorias", listaCategorias);
		return "categoria/lista_categoria";
	}

	@RequestMapping("/alterarCategoria")
	public String alterarCategoria(Long id, Model model) {
		Categoria c = daoCategoria.buscarId(id);
		model.addAttribute("categoria", c);
		return "categoria/cadastro_categoria";
	}

	@RequestMapping("excluirCategoria")
	public String excluirCategoria(Long id) {
		daoCategoria.excluir(id);
		return "forward:listaCategorias";
	}
}
Criado 23 de novembro de 2015
Respostas 0
Participantes 1