Tenho o mapeamento no hibernate da classe categoria, a própria classe e a classe que faz a persistencia dela. Não consigo gravar no banco, o Netbeans me dá a mensagem
Hibernate: select categoria0_.Cod_Categoria as Cod1_0_, categoria0_.Descricao as Descricao0_ from categoria categoria0_ where categoria0_.Descricao=? limit ?
Hibernate: select max(Cod_Categoria) from categoria
Estou colocando aqui o mapeamento xml da classe, a propria classe e a classe de persistencia:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><classname="beans.Categoria"table="categoria"><idname="Cod_Categoria"column="Cod_Categoria"type="long"><generatorclass="increment"/></id><propertyname="Descricao"column="Descricao"type="string"/></class></hibernate-mapping>
/* * Categoria.java * * Created on 1 de Dezembro de 2006, 10:31 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */packagebeans;importjava.io.Serializable;importjava.util.HashSet;importjava.util.Set;/** * * @author ti_m08 */publicclassCategoriaextendsObjectimplementsSerializable{privateintCod_Categoria;privateStringDescricao;privateSetProduto=newHashSet();privateProdutoproduto;publicCategoria(intCod_Categoria,StringDescricao){super();// TODO Auto-generated constructor stubthis.Cod_Categoria=Cod_Categoria;this.Descricao=Descricao;}publicCategoria(){super();}publicintgetCod_Categoria(){returnCod_Categoria;}publicvoidsetCod_Categoria(intCod_Categoria){this.Cod_Categoria=++Cod_Categoria;}publicStringgetDescricao(){returnDescricao;}publicvoidsetDescricao(StringDescricao){this.Descricao=Descricao;}}
Classe de persistencia
/* * CategoriaFacade.java * * Created on 6 de Dezembro de 2006, 15:00 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */packagebeans;importjava.util.List;importjavax.faces.application.FacesMessage;importjavax.faces.context.ExternalContext;importjavax.faces.context.FacesContext;importjavax.servlet.http.HttpServletRequest;importorg.hibernate.Session;importutil.HibernateUtil;/** * @netbeans.hibernate.facade beanClass=beanslocadora.categoria */publicclassCategoriaFacade{privateCategoriacategoria;Sessionsession;publicvoidsaveCategoria(Categoriacategoria){try{HibernateUtil.beginTransaction();Sessionsession=HibernateUtil.currentSession();session.save(categoria);HibernateUtil.commitTransaction();addMessage("Categoria salva com sucesso.");}catch(Exceptione1){addMessage("Erro ao cadastrar categoria!");}finally{HibernateUtil.closeSession();}}publicStringcriaCategoria(Categoriacategoria){if(this.findByDescricao(categoria.getDescricao())==null){this.saveCategoria(categoria);return"categoria_criada";}else{addMessage("Categoria ja existente!");return"categoria_criate";}}publicStringcriaCategoria(){if(this.findByDescricao(categoria.getDescricao())==null){this.saveCategoria(this.getCategoria());return"categoria_criada";}else{addMessage("Categoria ja existente!");return"categoria_create";}}publicCategoriaFacade(){}publicCategoriagetCategoria(){returncategoria;}publicvoidsetCategoria(Categoriacategoria){this.categoria=categoria;}publicStringcreateSetup(){this.setCategoria(newCategoria());return"categoria_create";}publicCategoriafindByDescricao(Stringdescricao){try{Sessionsession=HibernateUtil.currentSession();Stringquery1="from Categoria c where c.Descricao = :descricao";org.hibernate.Queryquery=session.createQuery(query1).setString("descricao",descricao).setMaxResults(1);Categoriacategoria=(Categoria)query.uniqueResult();returncategoria;}catch(Exceptione){addMessage("Erro ao localizar categoria!");returnnull;}}publicListgetCategorias(){try{HibernateUtil.beginTransaction();Sessionsession=HibernateUtil.currentSession();org.hibernate.Queryquery=session.createQuery("select object(o) from Categoria as o");Listlist=query.list();HibernateUtil.commitTransaction();HibernateUtil.closeSession();returnlist;}catch(Exceptione1){addMessage("Erro em listar categorias!");returnnull;}}publicStringdestroy(){try{HibernateUtil.beginTransaction();Sessionsession=HibernateUtil.currentSession();Categoriacategoria=getCategoriaFromRequestParam();session.delete(categoria);HibernateUtil.commitTransaction();addMessage("Categoria removida com sucesso.");}catch(Exceptionex){addMessage("Erro ao remover categoria!");}finally{HibernateUtil.closeSession();}return"categoria_list";}publicCategoriagetCategoriaFromRequestParam(){ExternalContextec=FacesContext.getCurrentInstance().getExternalContext();HttpServletRequestrequest=(HttpServletRequest)ec.getRequest();Stringparam=request.getParameter("descricao");System.out.println("categoria em getCategriaFromRqParam="+param);returnthis.findByDescricao(param);}publicstaticvoidaddMessage(Stringmsg){FacesMessagefacesMsg=newFacesMessage(FacesMessage.SEVERITY_ERROR,msg,msg);FacesContextfc=FacesContext.getCurrentInstance();fc.addMessage(null,facesMsg);}publicStringeditSetup(){setCategoriaFromRequestParam();return"categoria_edit";}publicvoidsetCategoriaFromRequestParam(){Categoriacategoria=getCategoriaFromRequestParam();if(categoria==null)System.out.println("categoria nula");setCategoria(categoria);}publicStringedit(){try{HibernateUtil.beginTransaction();Sessionsession=HibernateUtil.currentSession();session.merge(categoria);HibernateUtil.commitTransaction();addMessage("Categoria foi atualizada com sucesso.");}catch(Exceptionex){try{addMessage("Erro ao atualizar categoria!");}catch(Exceptione){System.out.println("erro em edit categoria");}}finally{HibernateUtil.closeSession();}return"categoria_list";}}