Hibernate

Bom dia, estou estudando o Hibernate e nao consigo sai de um problema, tenho o seguinte relacionamento

tabela 1

  • id - Chave Primaria
  • nome1
  • nome2

tabela 2

  • id_tabela1 Chave Primaria
  • texto Chave Primaria
  • texto

tabela 3

  • id_tabela1 Chave Primaria
  • texto Chave Primaria
  • texto

Como ficariam os hbm.xml para estas tabelas ?

no site do GUJ tem um ótimo tutorial sobre hibernate kra, la tem um caso igual esse seu ai, vale apena dar uma olhada.

Ja vi este tutorial e fiz exatamente o que pedem mas nao ta funcionando, minha duvida e se quanto eu executar um list a consulta tem que trazer os dados da tabela1 e tabela2, pois executo um lista para a tabela 1 ele traz os dados da tabela 1 mas os sets do been vem com null e quanto faco o list na tabela 2 nao retornar nada e acontece este erro:

org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of br.com.teste.domain.Casquilho30.modelo

os mapeamentos e beans sao estes:


hbm da tabela 1 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping>
	<class name="br.com.teste.domain.Modelo" table="mrimodelo">

		<id name="id" type="integer" column="id">
			<generator class="native"/>
		</id>

		<property name="modelo" column="modelo" type="string" not-null="false" length="50"/>
		<property name="serial" column="serial" type="integer" 	not-null="false" length="10"/>
	


		<set name="classesCamisa">
			<key column="id_modelo"/>
			<one-to-many class="br.com.teste.domain.ClasseCamisa"/>
		</set>

		<set name="casquilhos30">
			<key column="id_modelo"/>
			<one-to-many class="br.com.teste.domain.Casquilho30"/>
		</set>


	</class>	
</hibernate-mapping>



hbm da tabela 2


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping>
	<class name="br.com.teste.domain.ClasseCamisa" table="mriclassecamisa">

        <id name="modelo" column="id_modelo" type="integer">
            <generator class="native"/>
        </id>

		<property name="classe" column="classe" type="string" not-null="false" length="1"/>
		<property name="codigoDesenho" column="codigoDesenho" type="string" not-null="false" length="20"/>

		<many-to-one name="modelo"
			column="id_modelo" class="br.com.teste.domain.Modelo" insert="false" update="false"/>



	</class>	
</hibernate-mapping>



hbm da tabela 3


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="br.com.teste.domain.Casquilho30" table="mricasquilho30">
	
        <id name="modelo" column="id_modelo" type="integer">
            <generator class="native"/>
        </id>	

		<property name="combinacao" column="combinacao" type="string" not-null="false" length="2"/>
		<property name="codigoCasquilho" column="codigoCasquilho" type="string" not-null="false" length="20"/>
		<property name="tipoCasquilho" column="tipoCasquilho" type="string" not-null="false" length="10"/>

		<many-to-one name="modelo"
			column="id_modelo" class="br.com.teste.domain.Modelo" insert="false" update="false"/>


	</class>	
</hibernate-mapping>



bean 1

package br.com.teste.domain;




import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;



public class Modelo implements Serializable{
	
	private int id;
	private String modelo;
	private int serial;
	
	
	private Collection casquilhos30 = new HashSet();
	private Collection classesCamisa = new HashSet();
	
	
	
	public Modelo(){
		
		super();
	}


	
	
	
	public Collection getCasquilhos30() {
		return casquilhos30;
	}






	public void setCasquilhos30(Collection casquilhos30) {
		this.casquilhos30 = casquilhos30;
	}






	public Collection getClassesCamisa() {
		return classesCamisa;
	}






	public void setClassesCamisa(Collection classesCamisa) {
		this.classesCamisa = classesCamisa;
	}






	public int getId() {
		return id;
	}






	public void setId(int id) {
		this.id = id;
	}






	public String getModelo() {
		return modelo;
	}






	public void setModelo(String modelo) {
		this.modelo = modelo;
	}






	public int getSerial() {
		return serial;
	}






	public void setSerial(int serial) {
		this.serial = serial;
	}


	
	
}



bean 2


package br.com.teste.domain;

import java.io.Serializable;



public class ClasseCamisa implements Serializable{
	

	private String classe;
	private String codigoDesenho;

	private Modelo modelo;
	

	public ClasseCamisa(){
		
		super();
		
	}


	public String getClasse() {
		return classe;
	}


	public void setClasse(String classe) {
		this.classe = classe;
	}


	public String getCodigoDesenho() {
		return codigoDesenho;
	}


	public void setCodigoDesenho(String codigoDesenho) {
		this.codigoDesenho = codigoDesenho;
	}


	public Modelo getModelo() {
		return modelo;
	}


	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}

	
	

	

}


bean 3

package br.com.teste.domain;

import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;

public class Casquilho30 implements Serializable{
	
	
	private String combinacao;
	private String codigoCasquilho;
	private String tipoCasquilho;

	private Modelo modelo;
	
	
	public Casquilho30(){
		
		super();
	}

	
	



	public String getCodigoCasquilho() {
		return codigoCasquilho;
	}






	public void setCodigoCasquilho(String codigoCasquilho) {
		this.codigoCasquilho = codigoCasquilho;
	}






	public String getCombinacao() {
		return combinacao;
	}






	public void setCombinacao(String combinacao) {
		this.combinacao = combinacao;
	}





	public Modelo getModelo() {
		return modelo;
	}






	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}






	public String getTipoCasquilho() {
		return tipoCasquilho;
	}






	public void setTipoCasquilho(String tipoCasquilho) {
		this.tipoCasquilho = tipoCasquilho;
	}
	
	
	
}


Por favor se alguem tiver uma dica ou solucao desde ja agradeco.

Alguem poderia me esclarecer se quando eu faco um List no Hibernate e existe uma associacao entre uma tabela pai e filha e dentro de meus beans eu tenho no bean principal um Set representando os dados da tabela filha , o Hibernate vai trazer esses dados e popular o Set automaticamente ou eu tenho que explicitar isto nas buscas…