JPA - Problema para Persist List <Object> Relação OneToMany

Galera,

Alguém pode me dar um help no problema de persistencia JPA.

Tenho a seguintes relação entre as entitys:

@OneToMany
SmIamIdentiyManager ---- SmIamAccessManager

@ManyToOne
SmIamAccessManager ---- SmAdmAccessmanager
SmIamAccessManager ---- SmAdmFunctionality

A persistence está ocorrendo corretamente, quando vou persistir a entity SmIamAccessManager (através da relação) utilizando List de size() = 4 ocorre a persistencia somente no ultimo objeto do List, nao persistindo o List inteiro.

[code]
// Method prepara o model para ser persistido

private List smIamAccessmanagersL = new ArrayList();

public void getPrepareModelFA(){
Object[] item = FPAFindByProfile.toArray();
for (Object obj : item) {
Object[] x = (Object[]) obj;
SmAdmFunctionality objAdmFunctionality = (SmAdmFunctionality) x[1];
SmAdmAccessmanager objAdmAccessmanager = (SmAdmAccessmanager) x[2];
System.out.println(“ID ACCESSMANAGER :”+ objAdmAccessmanager.getIdAccessmanageradm());
accessManager.setSmAdmFunctionality(objAdmFunctionality);
accessManager.setSmAdmAccessmanager(objAdmAccessmanager);
smIamAccessmanagersL.add(accessManager);
}
}

public void createCustomer(){
try{
getPrepareModelFA();

		HashSet <SmIamIdentitymanager> identityManagerL = new HashSet<SmIamIdentitymanager>();
		identityManager.setSmIamCustomer(customerBean);
		identityManagerL.add(identityManager);

		accessManager.setSmIamIdentitymanager(identityManager);
		smIamAccessmanagersL.add(accessManager);
		
		customerBean.setSmIamIdentitymanagers(identityManagerL);
		identityManager.setSmIamProfiles(profile);
		identityManager.setSmIamAccessmanagers(smIamAccessmanagersL);
		customerBean.setSmIamContracts(contractL);

		customerFacade.saveCustomer(customerBean);

}

Como assim? Está ocorrendo corretamente ou não?
Aliás, o tamanho da lista é irrelevante neste caso.

Grande drsmachado,

O problema é que eu nao estou conseguindo persistir a List<SmIamAccessmanager> inteira da relaçao OneToMany, somente o ultimo elemento da List é persistido.
As outras entity envolvidas na relação são persistidas normalmente, somente a entity SmIamAccessmanager, ocorre esse problema de nao persistir a List inteira.

CODIGO:

private List<SmIamAccessmanager> smIamAccessmanagersL = new ArrayList<SmIamAccessmanager>();

// Method - Prepare object will be persist
public void getPrepareModelFA(){
Object[] item = FPAFindByProfile.toArray();
for (Object obj : item) {
Object[] x = (Object[]) obj;
SmAdmFunctionality objAdmFunctionality = (SmAdmFunctionality) x[1];
SmAdmAccessmanager objAdmAccessmanager = (SmAdmAccessmanager) x[2];
System.out.println(“ID ACCESSMANAGER :”+ objAdmAccessmanager.getIdAccessmanageradm());
accessManager.setSmAdmFunctionality(objAdmFunctionality);
accessManager.setSmAdmAccessmanager(objAdmAccessmanager);
smIamAccessmanagersL.add(accessManager);
}
}

public void createCustomer(){
try{
validateData();
getPrepareModelFA();

		profile.setSmAdmProfile(smAdmProfile);			
		
		HashSet &lt;SmIamIdentitymanager&gt; identityManagerL = new HashSet&lt;SmIamIdentitymanager&gt;();
		identityManager.setSmIamCustomer(customerBean);
		identityManagerL.add(identityManager);

		profile.setSmIamIdentitymanager(identityManager);
                                      accessManager.setSmIamIdentitymanager(identityManager);

// smIamAccessmanagersL.add(accessManager);
// Comment description in method

		HashSet &lt;SmIamContract&gt; contractL = new HashSet&lt;SmIamContract&gt;();
		contract.setSmIamCustomer(customerBean);
		contract.setSmAdmLicense(licenseAdm);
		contractL.add(contract);

		customerBean.setSmIamIdentitymanagers(identityManagerL);
		identityManager.setSmIamProfiles(profile);
		identityManager.setSmIamAccessmanagers(smIamAccessmanagersL);
		customerBean.setSmIamContracts(contractL);

		customerFacade.saveCustomer(customerBean);
		
	} catch(EJBException e){
		System.out.print(e);
	}
	FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "System Success",                   
                        objOperator.CUSTOMER_MSG_SAVE);  
                        FacesContext.getCurrentInstance().addMessage(null, message);
}

Coloque teu código entre a tag [code].