Montando um Aplicativo JPA em um Ambiente Java EE
Você implementou e configurou seus aplicativos para funcionarem com o Java™ Persistence API (JPA). Agora você precisa compactar os aplicativos JPA para seu ambiente.
Sobre Esta Tarefa
Procedimento
Compactar o aplicativo. Há várias opções de compactação de um aplicativo que usa JPA em um ambiente Java EE. Escolha a opção de compactação que
melhor se adequa ao uso e à configuração de JPA dentro dos módulos do seu aplicativo. Essas são algumas das opções de compactação mais comuns.
Para uma lista definitiva de opções de compactação, consulte a especificação Java Persistence
API.
Nota: IBM® Optim PureQuery Run Time, inclua o arquivo persistence_unit_name.pdqxml no arquivo
JAR do aplicativo JPA. Os arquivos estão localizados no mesmo diretório META-INF no qual seu arquivo persistence.xml está localizado. Estes
arquivos de persistência foram criados durante a tarefa de desenvolvimento. Consulte o tópico
Desenvolvendo Aplicativos JPA para um Ambiente Java EE para obter informações adicionais.
- Para um módulo Enterprise JavaBeans (EJB)
independente ou para um módulo do aplicativo cliente independente, compacte os módulos EJB
e do aplicativo cliente em um arquivo Java archive (JAR) padrão. Assegure-se de compactar o aplicativo com estas condições:
- O arquivo JAR deve conter seus arquivos de classe EJB ou os arquivos de classe Java para o cliente de aplicativo.
- O diretório META-INF do archive deve incluir seu arquivo persistence.xml.
- Se seu aplicativo usar arquivos de mapeamento, orm.xml, ou um arquivo de mapeamento customizado, o arquivo JAR também deverá conter esses arquivos. Se o local do arquivo orm.xml não for especificado na unidade de persistência, o local padrão será o diretório META-INF do arquivo JAR.
- Os arquivos de classe de Metamodelo de Critérios que foram gerados pelo Processador de Anotação quando você desenvolveu seu aplicativo precisam ser incluídos no arquivo JAR no mesmo local que os arquivos de classe de entidade.
- Para um módulo da Web independente, compacte o aplicativo em um arquivo
Web Application Archive (WAR) padrão. Assegure-se de compactar o aplicativo com estas condições:
- Os arquivos de classe de Metamodelo de Critérios que são gerados pelo Processador de Anotação durante o desenvolvimento de seu aplicativo precisam ser incluídos no arquivo WAR no mesmo local que os arquivos de classe de entidade.
- O arquivo WAR deve conter seus arquivos de classe do aplicativo da Web. Os arquivos de classe do aplicativo da Web devem estar incluídos no diretório WEB-INF/classes ou em um arquivo JAR que esteja localizado no diretório WEB-INF/classes do arquivo WAR.
- O arquivo persistence.xml deve ser incluído no diretório WEB-INF/classes/META-INF ou no diretório META-INF de um arquivo JAR que está incluído no diretório WEB-INF/lib do arquivo WAR.
- Se seu aplicativo usar arquivos de mapeamento, orm.xml, ou um arquivo de mapeamento
customizado, o arquivo WAR também deverá conter esses arquivos.
Os arquivos de mapeamento podem residir no diretório WEB-INF/classes ou em um arquivo JAR que esteja contido no diretório WEB-INF/lib do arquivo WAR. Use o elemento <mapping-file>
do arquivo persistence.xml para especificar o local
de arquivos de mapeamento. Por exemplo:
<mapping-file>META-INF/JPAorm.xml</mapping-file>
- Para um aplicativo corporativo que contém um ou mais módulos,
compacte o aplicativo em um arquivo Enterprise application archive
(EAR) padrão. Um aplicativo corporativo pode conter um ou mais módulos EJB, módulos da Web ou módulos do aplicativo cliente. Assegure-se de compactar o aplicativo com estas condições:
- Se vários módulos usarem a mesma unidade de persistência, você poderá criar um archive de persistência e compactá-lo no arquivo EAR.
- Inclua suas classes de entidade, as classes de Metamodelo de Critérios associadas, quaisquer classes de suporte necessárias, o arquivo persistence.xml e arquivos de mapeamento adicionais no archive de persistência. Siga as regras de compactação para os módulos EJB e do cliente de aplicativo para obter o local do seu arquivo persistence.xml e os arquivos de mapeamento.
- Cada módulo que usa o archive de persistência deve ter uma entrada do caminho de classe em seu arquivo WEB-INF/MANIFEST.MF.
Aqui está um exemplo do arquivo de manifesto:
Versão do Manifest: 1.0 Caminho de classe: MyJPAEntities.jar
- Se seus módulos usarem unidades de persistência separadas e compartilharem classes de entidade, você poderá compactar as classes de entidade em um archive de persistência e especificar um arquivo persistence.xml diferente ou arquivos de mapeamento para cada módulo. Se os módulos não compartilharem classes de entidade ou uma configuração de persistência, compacte cada módulo como um módulo EJB independente, como um módulo de aplicativo cliente independente ou como um archive de aplicativo da Web independente e, em seguida, compacte-os no arquivo EAR.