Comando wsmapping
A ferramenta wsmapping é utilizada para fornecer mapeamento completo do modelo de objeto da entidade para o modelo relacional de banco de dados. Você pode utilizá-la para criar tabelas de bancos de dados.
Sintaxe
A sintaxe do comando é a seguinte:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsmapping.sh [options][arguments]
![[IBM i]](../images/iseries.gif)
wsmapping [options][arguments]
![[Windows]](../images/windows.gif)
wsmapping.bat [options][arguments]
Parameters
- -schemaAction/-sa <add | refresh
| drop | build | reflect | retain | createDB | import | export | none>:
A ação para implementar com relação ao esquema.
Essas opções correspondem às ações da ferramenta de esquema. Add será a ação padrão se nada estiver especificado. As ações podem ser compostas em uma lista separada por vírgulas.
Nota: A ferramenta wsmapping aceita o sinalizador -action/-a para especificar a ação a ser executada em classes individuais. A menos que você esteja executando wsmapping em todos seus tipos persistentes de uma vez, ou eliminando um mapeamento, deverá usar a ação add ou a ação build padrão. Caso contrário, poderá eliminar acidentalmente componentes do esquema utilizados pelas classes nas quais a ferramenta não estiver sendo executada no momento. - -schemaFile/-sf <true/t | false/f>:
Esta opção pode ser usada para gravar o esquema planejado em um documento XML
em vez de modificar o banco de dados.
O documento XML pode ser modificado, manipulado e confirmado para o banco de dados com a ferramenta de esquema.
- -sqlFile/-sql <stdout | output
file>: Esta opção pode ser usada para gravar as modificações do esquema
planejado em um script SQL em vez de modificar o banco de dados.
Combine esse parâmetro com um schemaAction de build para gerar um script que recrie o esquema para os mapeamentos atuais, mesmo se o esquema existir.
- -dropTables/-dt <true/t | false/f>:
Quando esta opção for configurada como true, o esquema descartará tabelas que parecem
não ser utilizadas durante as ações retain e refresh.
O padrão é true.
- -dropSequences/-dsq <true/t |
false/f>: Se essa opção for configurada para true, o esquema eliminará
as sequências que não são usadas durante as ações retain e refresh.
O padrão é true.
- -openjpatables/-ot <true/t | false/f>:
Ao refletir o esquema, este parâmetro determina se refletirá as tabelas e sequências
com nomes que começam com OPENJPA_.
Determinados componentes OpenJPA usam essas tabelas e sequências, como o factory de esquema de tabela. Ao usar outras ações, o parâmetro openjpaTables controla se essas tabelas poderão ser eliminadas ou não. A configuração padrão é false.
- -ignoreErrors/-i <true/t | false/f>:
Se configurado para false, uma exceção ocorrerá se a ferramenta encontrar erros
de banco de dados.
O padrão é configurado para false.
- -schemas/-s <schema list>:
Indica uma lista de nomes de esquemas e tabelas que o OpenJPA deve acessar
ao executar a ferramenta wsschema.
Isso equivale a configurar a propriedade openjpa.jdbc.Schemas para ser executada uma vez. Esse parâmetro corresponde ao parâmetro -schemas/-s na ferramenta wsschema. Essa opção será ignorada se -readSchema/-rs não estiver configurado para true.
- -readSchema/-rs <true/t | false/f>:
Configure essa opção para true para ler o esquema existente inteiro
quando a ferramenta de mapeamento for executada.
A leitura do esquema existente assegura que a OpenJPA não gere mapeamentos que utilizem os nomes da tabela, do índice, da chave primária ou da chave estrangeira que causem conflitos com nomes existentes.
Nota: Dependendo do driver JDBC específico, a seleção da função -readSchema/-rs pode reduzir a velocidade do processo para grandes esquemas. - -primaryKeys/-pk <true/t | false/f>:
Este sinalizador determina se as chaves primárias podem ser manipuladas em tabelas existentes.
O padrão é true.
- -foreignKeys/fk <true/t | false/f>:
Este sinalizador determina se as chaves estrangeiras podem ser manipuladas em tabelas existentes.
O padrão é true. Isso significa que para incluir uma nova chave estrangeira a uma classe que já foi mapeada, você deve configurar explicitamente esse sinalizador de parâmetro para true.
- -indexes/-ix <true/t | false/f>:
Este sinalizador determina se os índices podem ser manipulados em tabelas existentes.
O padrão é true. Isso significa que para incluir novos índices a uma classe que já foi mapeada, você deve configurar explicitamente esse sinalizador de parâmetro para true.
- -sequences/-sq <true/t | false/f>:
Este sinalizador determina se as sequências podem ser manipuladas.
O padrão é true.
- -meta/-m <true/t | false/f>: Esse sinalizador determina se um mapeamento se aplica aos metadados em vez dos, ou além dos, mapeamentos padrão.
- A ferramenta wsmapping aceita o sinalizador -action/-a para
especificar a ação a ser executada em cada classe. Várias ações podem ser compostas
em uma lista separada por vírgulas. As ações disponíveis são:
- buildSchema: Essa é a ação padrão. A ação buildSchema faz com que o esquema do banco de dados corresponda aos mapeamentos existentes. Se os mapeamentos fornecidos causarem conflitos com as definições de classes, OpenJPA falhará com uma exceção informativa.
- validate: Assegure-se de que os mapeamentos das classes especificadas sejam válidos e que correspondam ao esquema do banco de dados. Os mapeamentos de tabelas não são alterados como resultado dessa ação. Uma exceção ocorrerá se qualquer mapeamento for inválido.
- O nome completo de uma classe persistente.
- O nome .java de uma classe persistente.
- O arquivo .class de uma classe persistente.
Se você não fornecer argumentos para a ferramenta wsmapping, ela será executada nas classes da lista de classes persistente.
Uso
Antes de executar a ferramenta wsmapping, deverá configurar as informações de origem de dados, incluindo a URL, o usuário e a senha. É necessário que a ferramenta wsenhancer seja executada antes que a ferramenta wsmapping insira bytecode nas classes de entidade. Além disso, os arquivos de classe compilados para suas entidades devem estar no caminho de classe. Suponha que os arquivos de classe de entidade possam ser localizados em target/classes, por exemplo:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[AIX HP-UX Solaris]](../images/unix.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
export CLASSPATH=${CLASSPATH}:target/classes
wsmapping.sh ...
![[IBM i]](../images/iseries.gif)
export CLASSPATH=${CLASSPATH}:target/classes
wsmapping ...
![[Windows]](../images/windows.gif)
SET CLASSPATH=%CLASSPATH%;target\classes
wsmapping.bat . . .
Para criar tabelas, execute o comando wsmapping a partir do diretório ${profile_root}/bin. Na conclusão, as tabelas de bancos de dados serão criadas ou atualizadas. As mensagens e os erros são registrados no console administrativo, conforme especificado pelas configurações de log.
wsmapping.sh . . . No Windows:
Exemplos
Para criar as tabelas de banco de dados necessárias para o arquivo Magazine.java:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
${profile_root}/bin/wsmapping.sh Magazine.java
![[IBM i]](../images/iseries.gif)
${profile_root}/bin/wsmapping Magazine.java
![[Windows]](../images/windows.gif)
${profile_root}\bin\wsmapping.sh Magazine.java
Para descartar as tabelas para Magazine.java:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
C:\> %profile_root%/bin/wsmapping.sh -sa dropDB Magazine.java
![[IBM i]](../images/iseries.gif)
C:\> %profile_root%/bin/wsmapping -sa dropDB Magazine.java
![[Windows]](../images/windows.gif)
C:\> %profile_root%\bin\wsmapping.bat -sa dropDB Magazine.java
Para validar os mapeamentos para todas as classes no caminho de classe:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
C:\> %profile_root%/bin/wsmapping.sh -a validate
![[IBM i]](../images/iseries.gif)
C:\> %profile_root%/bin/wsmapping -a validate
![[Windows]](../images/windows.gif)
C:\> %profile_root%\bin\wsmapping.bat -a validate
Informações adicionais
Consulte as informações de mapeamento no Guia do Usuário do Apache OpenJPA para obter mais informações e exemplos.