Duvida com jpa

Amigos estou usando netbeans+jpa+toplink+postgres

Estou fazendo um sistema para comunicação interna, onde trabalho.

Foram mapeadas as entidades Funcionario e documento,sendo um para muitos,respectivamente

Quando vou inserir um documento da um erro que diz perca de mapeamento:

Exception Description: Missing mapping for field [funcionarios.id].

Tentei varias maneiras de resolver o problema mas não encontrei ainda.
Algem ja passou o mesmo problema?
desde ja agradeço o esclerecimento ? :smiley:

segue as classes correspondentes

public class Funcionario implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = “funcionarios_id_seq”)
private Integer id;
@Column(name = “nome”)
private String nome;
@Column(name = “cpf”)
private String cpf;
@Column(name = “rg”)
private String rg;
@Column(name = “cep”)
private String cep;
@Column(name = “endereco”)
private String endereco;
@Column(name = “bairro”)
private String bairro;
@Column(name = “cidade”)
private String cidade;
@Column(name = “uf”)
private String uf;
@Column(name = “cargo”)
private String cargo;
@Column(name = “matricula”)
private String matricula;
@Column(name = “email”)
private String email;
@Column(name = “senha”)
private String senha;
@Column(name = “fone_01”)
private String fone01;
@Column(name = “fone_02”)
private String fone02;
@Column(name = “celular”)
private String celular;
@Column(name = “administrador”)
private Boolean administrador;
@JoinColumn(name = “loja_id”, referencedColumnName = “id”)
@ManyToOne
private Loja lojaId;
@OneToMany(mappedBy = “funcionarioId”)
private Collection documentoCollection;

get´s e set´s …

public class Documento implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy =GenerationType.SEQUENCE, generator = “documentos_id_seq”)
private Integer id;
@Column(name = “assunto”)
private String assunto;
@Column(name = “texto”)
private String texto;
@Column(name = “tipo_documento”)
private String tipoDocumento;
@JoinColumn(name = “funcionario_id”, referencedColumnName = “id”)
@ManyToOne
private Funcionario funcionarioId;

get´s e set´s .....

Obs:Os dados do documento veem do form e os dados do funcionario veem da sessão(ja que o funcioanrio no caso é o administrador da sessao )

public class DocumentoDAO {
public void adicionaDocumento(Documento documento,Funcionario funcionario){
EntityManager em=UtilDAO.getEMF().createEntityManager();

    Integer id=funcionario.getId();
    Funcionario funcionarioTemp=new Funcionario();
    funcionarioTemp=em.find(Funcionario.class,id);
    try{
        em.getTransaction().begin();          
        documento.setFuncionarioId(funcionarioTemp);         
        em.persist(documento);
       em.getTransaction().commit();
       }finally{
        em.close();
    }
}

}

tenta tirar o atributo referencedColumnName e deixe com o default.

Não sei qual o nome que vc usou no BD para o campo id do funcionário, mas se o nome for diferente de id, vc deve colocar @Column(name = “<id_funcionario_na_sua_tabela>”) sobre este campo.