entityManager.persist(bean);
entityManager.flush();
bean = entityManager.merge(bean);
// extract the primary key from the bean
KeyGenerator kg = deploymentInfo.getKeyGenerator();
Object primaryKey = kg.getPrimaryKey(bean);
// add to transaction cache
getTransactionCache().put(deploymentInfo.getCmpImplClass(), primaryKey, bean);
return primaryKey;