Sequence Generator Oracle no Hibernate

Boa noite!
Estou com problema para recuperar a chave gerada por um sequence generator usando o hibernate.
Fiz o mapeamento de entidades com anotações jpa.
Quando faço a persistência com session factory a chave gerada não tem nada a ver com a gerada no banco, porém quando faço a persistencia com um entity manager a entidade que persisti é atualizada com o valor de chave gerado.
Alguém já passou por esse problema? Se sim qual a solução?

posta seu código ai…

Entidade:

@Entity(name="CLIENTE")
@Table(name="TB_CLIENTE")
@SequenceGenerator(name="CLIENTE_SEQ",sequenceName="TB_CLIENTE_SEQ",allocationSize=20)
public class Cliente {
	
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="CLIENTE_SEQ")
	@Id
	@Column(name="codigo")
	private Integer codigo;
	
	@Column(name="nome")
	private String nome;
	
	@Column(name="idade")
	private Integer idade;

	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Integer getIdade() {
		return idade;
	}

	public void setIdade(Integer idade) {
		this.idade = idade;
	}

	

}

E na hora de persistir

public T inserir(T entidade) { sessionFactory.getCurrentSession().persist(entidade); return entidade; }
Tanto com save quanto persist geram um id que não confere com o id gerado pelo banco, agora caso eu utilize um EntityManager a chave é gerada corretamente.