Hibernate/JPA tenta atualizar uma chave para null ao excluir um item de uma lista

Olá,

Eu tenho uma classe que possui um mapeamento do hibernate para um lista de outra entidade, sendo que a ordem que os elementos são criados é
persistida também através da tag “list-index”, conforme demonstrado abaixo:

[code]

	<key column="tau_IDTurno" foreign-key="tau_fkTurno" not-null="true"/>
	<list-index column="tau_Ordem"/>
	
	<one-to-many
		class="br.com.ultramax.gestaoescolar.core.domain.TurnoAula"/>

[/code]

public List<TurnoAula> getTurnoAulas() { return turnoAulas; }

Quando tento remover um elemento da lista, como por exemplo, com o teste abaixo, tudo funciona corretamente

public void testRemoverTurnoAula() throws ValidationRuleException { TurnoVO vo = getVO(); final int antes = vo.getTurnoAulas().size(); Integer id = getModel().adicionar(vo); Turno t = getModel().findByPrimaryKey(id); t.getTurnoAulas().remove(0); getModel().atualizar(t); t = getModel().findByPrimaryKey(id); assertEquals(antes - 1, t.getTurnoAulas().size()); }

Mas ao converter o mapeamento, antes feito em Hibernate para JPA 2, o teste acima não funciona quando tento excluir um elemento da lista,
por algum motivo, o hibernate cria um update antes da exclusão do elemento que tenta atualizar o indice e a chave da tabela em questão para null,
mas como a chave dessa tabela não aceita null é lançada uma exceção (exemplos abaixo), Alguém saberia dizer pq hibernate tenta atualizar esse campo para null?

Novo mapeamento com JPA 2

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @OrderColumn(name = "tau_Ordem", nullable = false) @JoinColumn(name = "tau_IDTurno") @ForeignKey(name = "tau_fkTurno") public List<TurnoAula> getTurnoAulas() { return turnoAulas; }

Update gerado pelo hibernate durante a exclusão de um elemento da lista

update TurnoAula set tau_IDTurno=null, tau_Ordem=null where tau_IDTurno=? and tau_ID=?

java.sql.BatchUpdateException: Cannot add or update a child row: a foreign key constraint fails