Exemplo: Usando o Plug-in Hibernate para Pré-Carregar Dados no Cache do ObjectGrid

É possível usar o método preload da classe ObjectGridHibernateCacheProvider para pré-carregar dados no cache do ObjectGrid para uma classe de entidade.

Exemplo: Usando a classe EntityManagerFactory

EntityManagerFactory emf = Persistence.createEntityManagerFactory("testPU");
ObjectGridHibernateCacheProvider.preload("objectGridName", emf, TargetEntity.class, 100, 100);
Importante: Por padrão, as entidades não fazem parte do segundo nível de cache. No classes de Entidade que precisam de armazenamento em cache, inclua a anotação @cache. Este é um exemplo:
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL)
public class HibernateCacheTest { ... }
É possível substituir esse padrão ao configurar o elemento modo de cache compartilhado no arquivo persistence.xml ou usando a propriedade javax.persistence.sharedCache.mode.

Exemplo: Usando a classe SessionFactory

org.hibernate.cfg.Configuration cfg = new Configuration();
// use o método addResource, addClass e setProperty da Configuração para preparar a 
// configuração necessária para criar o SessionFactor
SessionFactory sessionFactory= cfg.buildSessionFactory();
ObjectGridHibernateCacheProvider.preload("objectGridName", sessionFactory, TargetEntity.class, 100, 100);
Nota:
  1. Em um sistema distribuído, este mecanismo de pré-carregamento somente pode ser chamado de uma Java virtual machine. O mecanismo de pré-carregamento não pode executar simultaneamente a partir de várias Java Virtual Machines.
  2. Antes de executar o pré-carregamento, você deve inicializar o cache do eXtreme Scale ao criar o EntityManager usando o EntityManagerFactory para que todos os BackingMaps correspondentes sejam criados, caso contrário, o pré-carregamento forçará o cache a ser inicializado com somente um BackingMap padrão para suportar todas as entidades. Isto significa que um único BackingMap é compartilhado por todas as entidades.