Dúvida/Ajuda - Sincronização entre databases (múltiplas DB's) com Hibernate

Galera, estou num projeto p/ sincronizar N databases, no esquema de Matriz <-> Filial. E estou [size=5]tentando[/size] usando o Hibernate.
Já tenho um pouco de familiaridade com o mesmo, com o padrão MVC/MVP, no DAO genérico já implementei os métodos p/ buscar os registros a atualizar, os que ainda não foram exportados, etc… Inclusive fiz uma implementação do HibernateUtil para a conexão nas diferentes databases (apenas 2 por rotina de sincronização, e esse HibernateUtil mudará um pouco tbm):

public class HibernateUtil {

    private static final HashMap<String, SessionFactory> sessionFactory = new HashMap<String, SessionFactory>();
    private static ServiceRegistry serviceRegistry;

    static {
        try {
            HibernateUtil.configureSessionFactory();
        } catch (Throwable ex) {
            // Log the exception. 
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    private static void configureSessionFactory() throws HibernateException {
        Configuration configurationMatriz = new Configuration(),
                configurationFilial = new Configuration();
        configurationMatriz.configure("/hibernate.cfg.xml");
        configurationFilial.configure("/hibernate.cfg_1.xml");

        serviceRegistry = new ServiceRegistryBuilder().applySettings(configurationMatriz.getProperties()).buildServiceRegistry();
        sessionFactory.put("matriz", configurationMatriz.buildSessionFactory(serviceRegistry));
        serviceRegistry = new ServiceRegistryBuilder().applySettings(configurationFilial.getProperties()).buildServiceRegistry();
        sessionFactory.put("filial", configurationFilial.buildSessionFactory(serviceRegistry));
    }

    public static SessionFactory getSessionFactory(String db) {
        return sessionFactory.get(db);
    }
}

Mas a questão é a seguinte… Estou com dúvidas em como seria a melhor forma de fazer a sincronização de dados (cadastros, registros de venda, etc…) utilizando o Hibernate?