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;