Hibernate + Firebird

Ola, estou com um problema referente a primary key com banco de dados Firebird.
Ao inserir o primeiro registro no banco, e executado perfeitamente a inclusao no banco.
Ao tentar colocar o segundo registro temos a mensagem abaixo:

Caused by: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544665. violation of PRIMARY or UNIQUE KEY constraint “INTEG_750” on table "FUNCIONARIO"
at org.firebirdsql.jdbc.AbstractPreparedStatement.internalExecute(AbstractPreparedStatement.java:730)
at org.firebirdsql.jdbc.AbstractPreparedStatement.executeUpdate(AbstractPreparedStatement.java:190)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2247)

A Classe esta da seguinte forma:

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)

public class Funcionario
{

@Id
[b]@GeneratedValue [/b]  
      // ja tentei tambem da seguinte forma @GeneratedValue(strategy = GenerationType.SEQUENCE) ou IDENTITY 
     // Tentei tambem definir um generrator conforme abaixo:

   //  @SequenceGenerator(name = "GEN", sequenceName = "NOME_DO_GENERATOR_DO_BANCO")  
  // @GeneratedValue(strategy = GenerationType.AUTO, generator = "GEN") 

    private Long id;
private String nome;
private String usuario;
private String senha;
private String email;

public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getUsuario() {
	return usuario;
}
public void setUsuario(String usuario) {
	this.usuario = usuario;
}
public String getSenha() {
	return senha;
}
public void setSenha(String senha) {
	this.senha = senha;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}

private Endereco endereco; 

@ManyToMany
private List<Fornecedor> fornecedores = new ArrayList<Fornecedor>();

public List<Fornecedor> getFornecedores()
{
	return fornecedores;
}

}

Conforme citado as tentativa, todas sem sucesso sempre ocasionando o mesmo erro.

Estou usando Hibernate 3.3 com Annotation, ja fiz algumas pesquisas e já vi que e algo referente a generator ou sequence. Resumindo e uma particularidade do banco "pelo menos e o que acho ", que no entando diante de inumeras tentativas e testes diferenciados ainda não consegui resolver.

Se alguem poder ajudar agradeço.
Abraço a todos…