Erro no mapping do Hibernate

8 respostas
M

Bom Dia Galera!
Estou fazendo um projeto de teste mas sem sucesso. Vou postar os código ver se vocês conseguem localizar o erro, no indicativo o erro esta acontecendo quando eu coloco o mapping no arquivo hibernate.cfg.xml. se eu retiro o mapping o código funciona no hibernate tool. Exemplo do site: http://www.edsongoncalves.com.br/2010/06/27/hibernate-com-hibernate-tools/

Código Java
import java.io.Serializable;
import java.lang.*;


public class Categoria implements Serializable {
	
	private Long id;
	private String categoria;
	private String descricao;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getCategoria() {
		return categoria;
	}
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
}
Categoria.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 23/10/2012 01:50:27 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
 <class name="Categoria" table="categoria">
  <id name="id" type="java.lang.Long">
   <column name="ID"/>
   <generator class="increment"/>
  </id>
  <property generated="never" lazy="false" name="categoria" type="java.lang.String">
   <column length="50" name="CATEGORIA"/>
  </property>
  <property generated="never" lazy="false" name="descricao" type="java.lang.String">
   <column name="DESCRICAO"/>
  </property>
 </class>
</hibernate-mapping>
Hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory name="">
  <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
  <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/testHibernate</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
  <property name="hibernate.hbm2ddl.auto">create-drop</property>
  <property name="hibernate.connection.password"/>
  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.use_sql_comments">true</property>
  <property name="hibernate.format_sql">true</property>
  <!-- <mapping/>
  <mapping class="resource=br/com/integrator/Categoria.hbm.xml"/> <!-- tentei destas maneiras-->
 <mapping class="Categoria" package="src" resource="Categoria.hbm.xml"/> 
  <mapping resource="src/Categoria.hbm.xml"/> --> <!-- sem nenhuma linha de mapping funciona mas não cria o banco que não é o objetivo-->
 </session-factory>
</hibernate-configuration>

[]s...
:wink:

8 Respostas

E

Ajudaria se você postasse qual é o erro. Como Categoria possui uma String chamada categoria? Mude a String para titulo, nome ou algo assim. É bom para evitar complicações.

M

ErickRAR:
Ajudaria se você postasse qual é o erro. Como Categoria possui uma String chamada categoria? Mude a String para titulo, nome ou algo assim. É bom para evitar complicações.

Segue …
:wink: Brigada!

E

Provavelmente você deve estar tentando adicionar o mapeamento via código também.

M

Eu fiz das duas maneiras… e não confuncionou!
você sabe me disser como seria o modo correto para este exemplo?
[]s… :slight_smile:

E

Não acredito que tenha um modo certo. É um ou outro. Se você colocar via código e no xml ao mesmo tempo, acontece esse erro. Deixe apenas em um, depois limpe o projeto ( Project > Clean ) e tente compilar de novo.

M

Fiz isto e não deu certo! :cry: Acredito que esse não seja o problema, pois no meu trabalho eu altero o arquivo tanto pelo código como pelo console do hibernate.
Se tiverem outra dica ou ideia! :smiley:

D

no meu hibernate.cfg.xml eu utilizo essa tag assim:

porém utilizo comente annotations, não sei se a versão que você está usando suporta…

A

Vc passou perto, como seu mapeamento foi em um arquivo xml o correto é como esta abaixo:

o problema está no Ctrl C + Ctrl V, pois no site de onde vc retirou também está correto.

agora se o mapeamento e via annotations ai vc faz desta forma:

Criado 23 de outubro de 2012
Ultima resposta 24 de out. de 2012
Respostas 8
Participantes 4