Erro ao persistir objeto no hibernate

2 respostas
F

e ae td bom… seguinte sou novo em hibernate (na verdade tô aprendendo) e to tendo dificuldade em persistir uma classe com relacionamento one-to-many… no caso to cadastrando um curriculo que possui várias experiencias profissionais… ao persistir o objeto dá erro… se alguém puder ajudar agradeço…

obs: a tabela “EXPERIENCIAPROFISSIONAL” possui o campo pk e fk que é curriculo

Erro:

Caused by: java.sql.BatchUpdateException: ORA-01400: cannot insert NULL into (“DB_CADASTRO”.“EXPERIENCIAPROFISSIONAL”.“CURRICULO”)

Pojos:

public class Curriculo implements Serializable{



	/**

	 * 

	 */

	private static final long serialVersionUID = 1L;

	

	private Integer id;

	private String objetivo;

	private Pessoa pessoa;

	private Set ep;



	// getters and setters and equal and hashCode

}
public class ExperienciaProfissional implements Serializable{



	/**

	 * 

	 */

	private static final long serialVersionUID = 1L;

	

	private Integer id;

	private String empresa;

	private String cargo;

	private String atividades;

	private Double salario;

	private Date dtInicio;

	private Date dtFim;



	// getters and setters and equal and hashCode

}

mapeamento:

<hibernate-mapping>

	<class name="br.com.working.entity.Curriculo" table="curriculo">

		<id name="id" column="curriculo">

			<generator class="sequence">

				<param name="sequence">curriculo_seq</param>

			</generator>

		</id>

		<property name="objetivo" column="objetivo" />

		<many-to-one name="pessoa" class="br.com.working.entity.Pessoa" />

		<set name="ep" cascade="all" >

	        	<key column="curriculo"/>

	        	<one-to-many class="br.com.working.entity.ExperienciaProfissional" />

		</set>

	</class>

</hibernate-mapping>
<hibernate-mapping>

	<class name="br.com.working.entity.ExperienciaProfissional" table="experienciaprofissional">		

		<id name="id" column="experienciaprofissional">

			<generator class="sequence">

				<param name="sequence">ep_seq</param>

			</generator>

		</id>		

		<property name="empresa" column="empresa" />

		<property name="cargo" column="cargo" />

		<property name="atividades" column="atividades" />

		<property name="salario" column="salario" />

		<property name="dtInicio" column="dtinicio" />

		<property name="dtFim" column="dtfim" />		

	</class>

</hibernate-mapping>

2 Respostas

quikkoo

me parece q é pq o conjunto ep não foi instanciado

Set ep = new TreeSet();
F

eu acho que o erro está na lógica… mas não tenho certeza… eu cadastro uma pessoa q possui curriculo q possui uma coleção de experiência profissional… aì quando eu peço pro dao persistir a pessoa dá erro

dao.addPessoa(pessoa);

acho q ao persistir pessoa não dá pra persistir a coleção que pertence ao curriculo… não tenho certeza mas acho q é isso

Criado 19 de julho de 2010
Ultima resposta 19 de jul. de 2010
Respostas 2
Participantes 2