Hibernate, erro para mapear

4 respostas
Abdon

Ola pessoal aguem ai ja teve contato com este erro:
org.hibernate.MappingExeption brokem column mapping for: endereco.id of joy.cadastros.bo.Orientador

bem o xml endereco.hbm.xml

<?xml version="1.0"?>

&lt;!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;

&lt;hibernate-mapping package="joy.cadastros.bo"&gt;	
	
	&lt;class name="Endereco" table="Endereco"&gt;
		
			
			&lt;composite-id&gt;
				&lt;key-property name="id" column="id_endereco"/&gt;
				&lt;key-property name="tipo" column="tipo"/&gt;
			&lt;/composite-id&gt;

			&lt;property 
				name="endereco" 
				column="endereco" 
				type="string" 
				length="50" 
				not-null="true"
			/&gt;


			&lt;property name="cidade"/&gt;

			&lt;property name="bairro"/&gt;

			&lt;property name="estado"/&gt;

			&lt;property name="cep"/&gt;
	
			&lt;property name="fone1"/&gt;

			&lt;property name="fone2"/&gt;	

			&lt;property name="estadolocal"/&gt;		
	&lt;/class&gt;
&lt;/hibernate-mapping&gt;

agora o xml Orientador.

<?xml version="1.0"?>

&lt;!DOCTYPE hibernate-mapping PUBLIC
     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;

&lt;hibernate-mapping package="joy.cadastros.bo"&gt;	
	
	&lt;class name="Orientador" table="Orientadores"&gt;
		
			&lt;id name="id" column="id_orientador" unsaved-value="null"&gt;
				&lt;generator class="native"/&gt;
			&lt;/id&gt;

			&lt;property 
				name="nome" 
				column="nome" 
				type="string" 
				length="50" 
				not-null="true"
			/&gt;


		&lt;property name="fax"/&gt;	

		&lt;property name="datanas"/&gt;

		&lt;property name="cpf"/&gt;		

		&lt;property name="rg"/&gt;
		
		&lt;one-to-one
			name="endereco"
	 	/&gt;

	&lt;/class&gt;
&lt;/hibernate-mapping&gt;

Alguem sabe como resolver isto?
Ja agradescendo,
Abdon

4 Respostas

Abdon

Esqueci, estou inserindo da seguinte forma:

/*
 * Created on 11/04/2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package joy.hibernate;

import joy.hibernate.*;
import joy.cadastros.bo.*;
import java.util.*;

import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 * @author amegale
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class Test1 {
	
	Session session = HibernateUtil.currentSession();
	Transaction tx = session.beginTransaction();
	private Endereco endereco;
	private Orientador orientador;
	
	public void test(){
		endereco = new Endereco();
		endereco.setBairro("Jabacity");
		endereco.setCep("00000");
		endereco.setCidade("Sampa");
		endereco.setEndereco("asdfasdf");
		endereco.setEstado("SP");
		endereco.setEstadolocal("S");
		endereco.setFone1("asdfasdf");
		endereco.setFone2("asdfasdf");
		endereco.setTipo("C");
		
		orientador = new Orientador();
		orientador.setCpf("ASDFASDF");
		orientador.setDatanas(new Date(1, 5, 1985));
		orientador.setEndereco(endereco);
		orientador.setFax("asdf");
		orientador.setNome("Bidula");
		orientador.setRg("asdf");
		
		session.save(endereco);
		session.save(orientador);
		tx.commit();
		HibernateUtil.closeSession();
		
		
	}
	

}
M

não use

use apenas

o Hibernate salva automaticamente o Endereço.

outra coisa…vc não informou qual a classe nem a Pk que vai no one-to-one

&lt;one-to-one
            name="propriedade"
            class="br.com.pacote.classe"
            cascade="none"
            outer-join="auto"
            update="true"
            insert="true"
            column="campo_id"
            not-null="true"
        /&gt;
caiofilipini

Isso vai depender da configuração de cascade. Se cascade=“none”, o Endereço não será automaticamente salvo.

[]'s

M

Boa essa do cascade eu não sabia valeu

Criado 11 de abril de 2005
Ultima resposta 11 de abr. de 2005
Respostas 4
Participantes 3