[RESOLVIDO] Could not synchronize database state with session Hibernate!

É valido fazer o mesmo teste no tomcat 6 usando os jars do hibernate na lib do projeto?

Obrigado pelo retorno.

Ninguem Mais?

Resolvi, e o pior é que não fiquei feliz, o problema todo era com a tabela do banco, dropei e criei usando o hibernate, funcionou, ai fiz o mesmo teste rodando o script do Enterprise Manager alterando somente o tamanho do campo number que era de 12,0 para 10,0.

Vo posta o codigo final para posteriores duvidas, Muito obrigado a todos e realmente Jair Você estava certo, valew mesmo.

Se não fosse o GUJ o que seria de Mim!!!

package test;

import java.util.Set;
import java.util.TreeSet;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table
public class Universidade {
	@Id
	@Column(name = "id_universidade")
	@SequenceGenerator(name="seq1", sequenceName="id_universidade_seq")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq1")	
	private Integer id;
	

	private String nome;
	
	@OneToMany(mappedBy = "universidade", fetch = FetchType.LAZY)
	@Cascade(value={CascadeType.SAVE_UPDATE})
	private Set<Centro> centros = new TreeSet<Centro>();

	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Set<Centro> getCentros() {
		return centros;
	}
	public void setCentros(Set<Centro> centros) {
		this.centros = centros;
	}

}
package test;



import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table
public class Centro {
	@Id
	@Column(name = "id_centro")
	@SequenceGenerator(name="seq2", sequenceName="id_centro_seq")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq2")	
	private Integer id;	
	
	
	private String nome;
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_universidade", insertable=true, updatable=true)
	@Cascade(value={CascadeType.SAVE_UPDATE})
	private Universidade universidade;
	
	public Integer getId() {
		return id;
	}
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public Universidade getUniversidade() {
		return universidade;
	}
	public void setUniversidade(Universidade universidade) {
		this.universidade = universidade;
	}
}
public void testJoin() {

		Session session = null;
		Transaction tx = null;
		Universidade univ = null;

		try {
		session = SessionFactoryUtil.getInstance().getCurrentSession();
		tx = session.getTransaction();
		tx.begin();
		
		univ = new Universidade();
		univ.setNome("Universidade Federal do Rio Grande do Norte");
		
		Centro centro1 = new Centro();
		centro1.setNome("Centro de Tecnologia");
		centro1.setUniversidade(univ);
		univ.getCentros().add(centro1);
		
		session.save(univ);
		session.flush();
		tx.commit();
		
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

Simples assim.