Persistir OneToMany - JPA2 + Spring

Olá Pessoal!

Estou criando uma classe de teste e estou dificuldade para persistir um relacionamento OneToMany.
Minha difculdade esta em persistir o endereço, pois sempre havera 2 endereços.

Estou utilizando JPA2 + Spring

Mapeamentos:

[code]@Entity(name = “PROPONENTE_PJ_FILIACAO”)
@SequenceGenerator(allocationSize = 1, sequenceName = “SQ_PROPONENTE_PJ_FILIACAO”, name = “SQ_PROPONENTE_PJ_FILIACAO”)
public class ProponentePjFiliacao extends Domain {

private static final long serialVersionUID = 1L;

private List<PropostaFiliacao> propostaFiliacao;	
private List<EnderecoProponentePjFiliacao> enderecoProponentePjFiliacao;
private RamoAtividade ramoAtividade;
private SocioProponenteFiliacao socio;
private Long cnpj;
private Long cnpjComplemento;
private String nome;
private String razaoSocial;
private Date dataFundacao;
private String email;
private Long dddFone;
private Long numFone;

//transient	
private String cnpjCompleto;
private String fone;
private String email2;

@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(generator = "SQ_PROPONENTE_PJ_FILIACAO")
public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

@Column(name = "NUM_CNPJ", unique=true, nullable = false)
public Long getCnpj() {
	return cnpj;
}

public void setCnpj(Long cnpj) {
	this.cnpj = cnpj;
}

@Column(name = "NUM_CNPJ_COMPLEMENTO", nullable = false)
public Long getCnpjComplemento() {
	return cnpjComplemento;
}

public void setCnpjComplemento(Long cnpjComplemento) {
	this.cnpjComplemento = cnpjComplemento;
}

@Column(name = "NOM_COMERCIAL", nullable = true, length = 100)
public String getNome() {
	return nome;
}

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

@Column(name = "NOM_RAZAO_SOCIAL", nullable = false, length = 100)
public String getRazaoSocial() {
	return razaoSocial;
}

public void setRazaoSocial(String razaoSocial) {
	this.razaoSocial = razaoSocial;
}

@Column(name = "DAT_FUNDACAO", nullable = false)
public Date getDataFundacao() {
	return dataFundacao;
}

public void setDataFundacao(Date dataFundacao) {
	this.dataFundacao = dataFundacao;
}

@Column(name = "DES_EMAIL", nullable = false, length = 50)
public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

@Column(name = "DDD_TELEFONE", nullable = false)
public Long getDddFone() {
	return dddFone;
}

public void setDddFone(Long dddFone) {
	this.dddFone = dddFone;
}

@Column(name = "NUM_TELEFONE", nullable = false)
public Long getNumFone() {
	return numFone;
}

public void setNumFone(Long numFone) {
	this.numFone = numFone;
}

@OneToMany(mappedBy = "proponentePjFiliacao")
public List<PropostaFiliacao> getPropostaFiliacao() {
	return propostaFiliacao;
}

public void setPropostaFiliacao(List<PropostaFiliacao> propostaFiliacao) {
	this.propostaFiliacao = propostaFiliacao;
}

@OneToOne(mappedBy = "proponentePjFiliacao")
public SocioProponenteFiliacao getSocio() {
	return socio;
}

public void setSocio(SocioProponenteFiliacao socio) {
	this.socio = socio;
}	

@Transient
public String getCnpjCompleto() {
	return cnpjCompleto;
}

public void setCnpjCompleto(String cnpjCompleto) {
	this.cnpjCompleto = cnpjCompleto;
}

@Transient
public String getFone() {
	return fone;
}

public void setFone(String fone) {
	this.fone = fone;
}

@Transient
public String getEmail2() {
    return email2;
}

public void setEmail2(String email2) {
    this.email2 = email2;
}

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "COD_RAMO_ATIVIDADE")
public RamoAtividade getRamoAtividade() {
    return ramoAtividade;
}

public void setRamoAtividade(RamoAtividade ramoAtividade) {
    this.ramoAtividade = ramoAtividade;
}

@OneToMany(mappedBy = "proponentePjFiliacao")
public List<EnderecoProponentePjFiliacao> getEnderecoProponentePjFiliacao() {
    return enderecoProponentePjFiliacao;
}

public void setEnderecoProponentePjFiliacao(
        List<EnderecoProponentePjFiliacao> enderecoProponentePjFiliacao) {
    this.enderecoProponentePjFiliacao = enderecoProponentePjFiliacao;
}

}

@Entity(name = “ENDERECO_PROPON_PJ_FILIACAO”)
@SequenceGenerator(allocationSize = 1, sequenceName = “SQ_ENDERECO_PROPON_PJ_FILIACAO”, name = “SQ_ENDERECO_PROPON_PJ_FILIACAO”)
public class EnderecoProponentePjFiliacao extends Domain {

private static final long serialVersionUID = 1L;

private ProponentePjFiliacao proponentePjFiliacao;
private Long numCEP;
private String logradouro;
private String numero;
private String complemento;
private String bairro;
private String cidade;
private String estado;
private String idcCobranca;

//Transient
private String cep;    
private String endCobranca; 
private String numCobranca;    
private String cepCobranca; 
private String logradouroCobranca;
private String numeroCobranca;
private String complementoCobranca;
private String bairroCobranca;
private String cidadeCobranca;
private String estadoCobranca;
  
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(generator = "SQ_ENDERECO_PROPON_PJ_FILIACAO")
public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

@Column(name = "NUM_CEP", nullable = false)
public Long getNumCEP() {
	return numCEP;
}

public void setNumCEP(Long numCEP) {
	this.numCEP = numCEP;
}

@Column(name = "LOGRADOURO", nullable = false, length = 80)
public String getLogradouro() {
	return logradouro;
}

public void setLogradouro(String logradouro) {
	this.logradouro = logradouro;
}

@Column(name = "NUMERO", nullable = true, length = 10)
public String getNumero() {
	return numero;
}

public void setNumero(String numero) {
	this.numero = numero;
}

@Column(name = "COMPLEMENTO", nullable = true, length = 100)
public String getComplemento() {
	return complemento;
}

public void setComplemento(String complemento) {
	this.complemento = complemento;
}

@Column(name = "BAIRRO", nullable = false, length = 70)
public String getBairro() {
	return bairro;
}

public void setBairro(String bairro) {
	this.bairro = bairro;
}

@Column(name = "CIDADE", nullable = false, length = 40)
public String getCidade() {
	return cidade;
}

public void setCidade(String cidade) {
	this.cidade = cidade;
}

@Column(name = "ESTADO", nullable = false, length = 2)
public String getEstado() {
	return estado;
}

public void setEstado(String estado) {
	this.estado = estado;
}

//@ManyToOne(fetch = FetchType.LAZY)
//@JoinColumn(name = "ID_PROPONENTE_PJ")

//@OneToOne(fetch = FetchType.LAZY, orphanRemoval = true)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ID_PROPONENTE_PJ")
public ProponentePjFiliacao getProponentePjFiliacao() {
	return proponentePjFiliacao;
}

public void setProponentePjFiliacao(
		ProponentePjFiliacao proponentePjFiliacao) {
	this.proponentePjFiliacao = proponentePjFiliacao;
}

@Transient
public String getCep() {
	return cep;
}

public void setCep(String cep) {
	this.cep = cep;
}

@Column(name = "IDC_COBRANCA")
public String getIdcCobranca() {
    return idcCobranca;
}

public void setIdcCobranca(String idcCobranca) {
    this.idcCobranca = idcCobranca;
}

@Transient
public String getEndCobranca() {
    return endCobranca;
}

public void setEndCobranca(String endCobranca) {
    this.endCobranca = endCobranca;
}

@Transient
public String getNumCobranca() {
    return numCobranca;
}

public void setNumCobranca(String numCobranca) {
    this.numCobranca = numCobranca;
}

@Transient
public String getCepCobranca() {
    return cepCobranca;
}


public void setCepCobranca(String cepCobranca) {
    this.cepCobranca = cepCobranca;
}

@Transient
public String getLogradouroCobranca() {
    return logradouroCobranca;
}


public void setLogradouroCobranca(String logradouroCobranca) {
    this.logradouroCobranca = logradouroCobranca;
}

@Transient
public String getNumeroCobranca() {
    return numeroCobranca;
}


public void setNumeroCobranca(String numeroCobranca) {
    this.numeroCobranca = numeroCobranca;
}

@Transient
public String getComplementoCobranca() {
    return complementoCobranca;
}


public void setComplementoCobranca(String complementoCobranca) {
    this.complementoCobranca = complementoCobranca;
}

@Transient
public String getBairroCobranca() {
    return bairroCobranca;
}


public void setBairroCobranca(String bairroCobranca) {
    this.bairroCobranca = bairroCobranca;
}

@Transient
public String getCidadeCobranca() {
    return cidadeCobranca;
}


public void setCidadeCobranca(String cidadeCobranca) {
    this.cidadeCobranca = cidadeCobranca;
}

@Transient
public String getEstadoCobranca() {
    return estadoCobranca;
}


public void setEstadoCobranca(String estadoCobranca) {
    this.estadoCobranca = estadoCobranca;
}

}[/code]

Classe de Teste (testNG)

[code]public class AssociadoServiceTest extends WebTransactionalSpringTestSupport {

@Autowired
private ConsultaCepService consultaCepService;

@Autowired
private ProponentePjFiliacaoService proponentePjFiliacaoService;

@Autowired
private EmailDadosCadastroAssociadoService  emailDadosCadastroAssociadoService;

@Autowired
private PropostaFiliacaoService propostaFiliacaoService;

@Autowired
private EmailService emailService;

@Autowired
private ValidaFiliacaoService validaFiliacaoService;  

@Autowired
private TipoValidacaoFiliacaoService tipoValidacaoFiliacaoService; 


@Override
public String getStore() {
    return super.getStore();
}

/**
 * Cadastra Associado insert nas tabelas: proponente_pj_filiacao,
 * endereco_propon_pj_filiacao, socio_proponente_filiacao,
 * proposta_filiacao, validacao_proposta_filiacao controle número de
 * tentativas de cadastro: cada tentativa update no campo
 * NUM_TENTATIVAS_FILIACAO da tabela proposta_filiacao e insert na tabela
 * validacao_proposta_filiacao setando "N" no campo IDC_PASSOU_VALIDACAO
 * @throws MessageBrokerException 
 */
@Test
@Rollback(value = true)
public void createAssociado() throws ParseException, MessageBrokerException {
    
    String date_fundacao = "01/10/2010";
    String date_aniversario = "01/10/1980";
    SimpleDateFormat dt = new SimpleDateFormat("dd/mm/yyyy");
    Date dtFundacao = dt.parse(date_fundacao);
    Date dtAniversario = dt.parse(date_aniversario);
    
    String cep = "28330201";         
    
    //consulta Entidade
    FaixaCepFiliacao listaFxCepEntidade = consultaCepService.consultaFaixaCepEntidade(Long.parseLong(cep));          
            
    //consulta faturamento minimo (produto)
    List<FaturamentoMinimo> listaFaturamentoMinimo = consultaCepService.consultaFaturamentoMinimo(Long.parseLong(cep));       
    
    //endereço empresa
    EnderecoProponentePjFiliacao endereco = new EnderecoProponentePjFiliacao();        
    endereco.setCep(cep);
    endereco.setLogradouro("Estrada da Casa Grande");
    endereco.setNumero("s/n");
    endereco.setComplemento("lado B");              
    endereco.setBairro("Campo Grande");
    endereco.setCidade("Mogi Mirim");       
    endereco.setEstado("SP");
    endereco.setIdcCobranca("N");
         
    //endereço cobrança      
    endereco.setCepCobranca("38000000");
    endereco.setLogradouroCobranca("Rua Espirito Santo");
    endereco.setNumCobranca("296");
    endereco.setComplementoCobranca("bloco b");              
    endereco.setBairroCobranca("marapé");
    endereco.setCidadeCobranca("santos");       
    endereco.setEstadoCobranca("MG");
    endereco.setIdcCobranca("S");
         
    //sócio
    SocioProponenteFiliacao socio = new SocioProponenteFiliacao();
    socio.setNumCPF("308.211.258-77");
    socio.setNome("Alexandre Miquelin");
    socio.setDataNascimento(dtAniversario);
    socio.setDddFoneResidencial(11L);
    socio.setFoneResidencial("3555-1234");
    
    //proponente
    ProponentePjFiliacao proponente = new ProponentePjFiliacao();
    proponente.setCnpjCompleto("02.290.277/0003-93");        
    proponente.setDataFundacao(dtFundacao);
    proponente.setDddFone(11l);
    proponente.setFone("3251-5865");
    proponente.setNome("Kleenex Classic");
    proponente.setRazaoSocial("Kimberly-Clarck Brasil");
    proponente.setEmail("diretor@kimberkly.com.br");
    proponente.setEmail2("diretor@kimberkly.com.br");
    
    RamoAtividade ramo = new RamoAtividade();        
    ramo.setId(3702900l);
  
    proponente.setEnderecoProponentePjFiliacao(endereco);       --ERRO AKI
    proponente.setSocio(socio);
    proponente.setRamoAtividade(ramo);
    
    //primeiro cadastro do cnpj informado
    Assert.assertEquals(true, this.proponentePjFiliacaoService.createAssociado(proponente, "N", listaFaturamentoMinimo.get(0).getId(), proponente.getRamoAtividade().getId(), listaFxCepEntidade.getEntidade().getCodigoEntidade(), listaFxCepEntidade.getEntidade().getNome()));
   
}

}[/code]

o Erro esta na linha: proponente.setEnderecoProponentePjFiliacao(endereco);
Erro: The method setEnderecoProponentePjFiliacao(List) in the type ProponentePjFiliacao is not applicable for the arguments (EnderecoProponentePjFiliacao)

Alguem pode me ajudar??