Ajuda tratamento de erro UNIQUE JPA/Spring/Hibernate

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

[code]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";
}

}[/code]