O utilitário de pré-carregamento Java Persistence API (JPA) baseado em cliente carrega dados nos mapas de apoio do eXtreme Scale usando uma conexão de cliente para o ObjectGrid.
Este recurso pode simplificar o carregamento dos mapas quando as consultas ao banco de dados não puderem ser particionadas. Um carregador, como um Carregador JPA também pode ser usado e é ideal quando os dados podem ser carregados em paralelo.
O utilitário de pré-carregamento JPZ baseado em cliente pode usar as implementações de OpenJPA ou Hibernate para carregar o ObjectGrid de um banco de dados. Porque oWebSphere eXtreme Scale não interage diretamente com o banco de dados ou o Java Database Connectivity (JDBC), qualquer banco de dados que o OpenJPA ou o Hibernate suporta pode ser usado para carregar o ObjectGrid.
Normalmente, um aplicativo de usuário fornece um nome de unidade de persistência, um nome de classe de entidade e uma consulta JPA para o utilitário de carga do cliente. O utilitário de carga do cliente recupera o gerenciador de entidades JPA baseado no nome da unidade de persistência, utiliza o gerenciador de entidades para consultar dados do banco de dados com a classe de entidade fornecida e a consulta JPA e, finalmente, carrega os dados nos mapas distribuídos do ObjectGrid. Quando relações de múltiplos níveis estão envolvidas na consulta, é possível usar uma cadeia de consulta customizada para otimizar o desempenho. Opcionalmente, uma mapa de propriedade de persistência poderia ser fornecido para substituir as propriedades de persistência configuradas.
Um utilitário de carga do cliente pode carregar dados em dois modos diferentes, como exibidos na tabela a seguir:
Modo | Descrição |
---|---|
Pré-carregar | Limpa e carrega todas as entradas no mapa de apoio. Se o mapa for um mapa de entidade, quaisquer mapas de entidade relacionados também serão limpos se a opção CascadeType.REMOVE do ObjectGrid estiver ativada. |
Recarregar | A consulta JPA é executada junto ao ObjectGrid para invalidar todas as entidades no mapa que correspondem à consulta. Se o mapa for um mapa de entidade, quaisquer mapas de entidade relacionados também serão limpos se a opção CascadeType.INVALIDATE do ObjectGrid estiver ativada. |
Em qualquer um dos casos, uma consulta JPA é utilizada para selecionar e carregar as entidades desejadas a partir do banco de dados e armazená-las nos mapas do ObjectGrid. Se o mapa do ObjectGrid for um mapa de não-entidade, as entidades JPA serão separadas e armazenadas diretamente. Se o mapa do ObjectGrid for um mapa de entidade, as entidades JPA serão armazenadas como tuplas de entidade do ObjectGrid. É possível fornecer uma consulta JPA ou utilizar a consulta padrão select o from EntityName o.
Para obter mais informações sobre como configurar o utilitário de pré-carregamento do JPA baseado em cliente, consulte o Desenvolvendo Carregadores JPA Baseados em Cliente