Problema com ordem na inserção de dados com Hibernate!

0 respostas
jmedeiros

Galera estou com um problema na hora de inserir dados no hibernate eu tenho duas classes funcionario e escolaridade. Onde existe uma relação de funcionario para escolaridade.

Em funcionario eu tenho um Set de escolaridades.
Deveria inserir os dados assim:

[B]Set e = new HashSet();

Escolaridade escolaridade = new Escolaridade();

e.add(escolaridade);
Funcionario func = new Funcionario();

func.setEscolaridade(e);

save(func);

save(escolaridade);

[/B]

Sendo que quando eu faço isso a inserção não acontece porque a chave de funcionario não vai para escolaridade.

Mas se eu fizer assim:

[B]

Funcionario func = new Funcionario();

Escolaridade escolaridade = new Escolaridade();

escolaridade.setFuncionario(func);

save(func);

save(escolaridade);

[/B]

Desta forma ele insere normalmente mas o meu Set de escolaridade fica inutilizado.

Ai vai meu código. Se alguém souber o problema eu agradeço muito.

funcionario.hbm

<class name="funcionario.Funcionario" table="funcionario" >
        <id name="id" type="integer">
            <column name="id" />
            <generator class="native" />
        </id>
        <property name="nome" type="string">
            <column name="nome" />
        </property>
        <property name="matricula" type="string">
            <column name="matricula" length="45" />
        </property>
        <property name="funcao" type="string">
            <column name="funcao" length="45" />
        </property>
        <property name="horario" type="string">
            <column name="horario" length="20" />
        </property>
        <property name="situacao" type="string">
            <column name="situacao" length="45" />
        </property>
        <property name="cargo" type="string">
            <column name="cargo" length="45" />
        </property>
        
        <set name = "escolaridade" inverse="true">
        	<key column="id"></key>
        	<one-to-many class = "escolaridade.Escolaridade"/>
        </set>
        
     <!-- <many-to-one name="setor" column="Setor_id" not-null="true" />-->
      
      <one-to-one  name = "outros" property-ref="funcionario"/>
        
    </class>

escolaridade.hbm

<class name="escolaridade.Escolaridade" table="escolaridade" >
        <id name="id" type="integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="escolaridade" type="string">
            <column name="escolaridade" />
        </property>
       
        <many-to-one  name="funcionario" column="Funcionario_id" />
    </class>

funcionario.java

private Integer id;
	private String nome;
	private String matricula;
	private String funcao;
	private String horario;
	private String situacao;
	private String cargo;
	private Set escolaridade =  new HashSet();
	private Outros outros;
	private Setor setor;

escolaridade.java

private Integer id;
	private String escolaridade;
	private Funcionario funcionario;
Criado 19 de agosto de 2005
Respostas 0
Participantes 1