Comando wsappid
A especificação do Java™ Persistence API (JPA) suporta uma chave primária de entidade a ser composta de mais uma colunas. Neste caso, a chave primária é chamada de chave primária composta. Forneça um ID de classe, que seja especificado pela anotação @IdClass, para gerenciar uma chave primária composta. Utilize a ferramenta de identidade da JPA para gerar uma classe de ID para entidades que utilizam chaves primárias compostas.
Sintaxe
Antes de executar o comando, você deve ter uma cópia do arquivo persistence.xml no caminho de classe ou especificá-lo como um arquivo de propriedades no argumento -p [path_to_persistence.xml]. Emita o comando a partir do subdiretório bin do diretório profile_root.
A sintaxe de comandos é a seguinte:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsappid.sh [parameters][arguments]
![[IBM i]](../images/iseries.gif)
wsappid [parameters][arguments]
![[Windows]](../images/windows.gif)
wsappid.bat [parameters][arguments]
Parameters
- -directory/-d <output_directory>:
O caminho para o diretório de saída.
Se o diretório não corresponder ao pacote de classe do ID de saída gerado, a estrutura do pacote será criada sob o diretório. Se esse parâmetro não for especificado, a ferramenta wsappid tentará localizar o diretório do arquivo .java para a classe que suporta a persistência. Se um arquivo .java não for localizado, a ferramenta wsappid usará o diretório atual.
- -ignoreErrors/-i <true/t | false/f>: Se esse parâmetro for configurado para false, uma exceção ocorrerá quando a ferramenta estiver em execução em qualquer classe que não usa a identidade do aplicativo. Um erro também pode ocorrer se alguma classe não tiver a classe base na hierarquia de herança.
- -token/-t <token>:
O token que é usado para separar os valores das chaves primárias sequenciadas
no formulário de sequência do ID do objeto.
Use essa opção apenas se houver vários campos de chave primária. O padrão é "::".
- -name/-n <id_class_name>:
O nome da classe de identidade a ser gerada.
Se essa opção estiver especificada, a ferramenta wsappid deverá ser executada em exatamente uma classe. Se os metadados de classe já nomearem uma classe de ID para o objeto, essa opção será ignorada. Se o nome não estiver completo, o pacote da classe de persistência será anexado para formar o nome completo.
- suffix <id_class_suffix>:
Uma sequência com a qual um sufixo é colocado em cada nome de classe persistente para formar o
nome da classe de identidade.
Essa opção é substituída pelo parâmetro -name/-n ou por qualquer classe de ID de objeto que seja especificado nos metadados.
- O nome completo de uma classe persistente.
- O nome .java de uma classe persistente.
- O arquivo .class de uma classe persistente.
Uso
A ferramenta de identidade utilizada com JPA para o servidor de aplicativos simplifica a tarefa de criação de uma classe de identidade para entidades que utilizam IDs compostos. Um ID composto é uma identidade com mais de um campo como sua chave primária. A classe de entidade deve ser compilada e as chaves primárias devem ser identificadas na classe de entidade. Execute a ferramenta wsappid a partir da linha de comandos no diretório profile_root/bin/. Ao executar esse comando, será gerada uma nova classe representando o ID composto da entidade. As mensagens e os erros são registrados no console, conforme especificado.
Exemplos
@Entity
public class Employee {
@Id
private int division;
@Id private int id;
// . . .
}
Antes que a entidade seja usada, uma classe de ID é necessária. Para este
exemplo, suponhamos que a entidade esteja localizada no diretório src/main/java.Para gerar uma classe de ID para a entidade Magazine, execute o seguinte:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
![[z/OS]](../images/ngzos.gif)
wsappid.sh -s Id src/main/java/Employee.java -d src/main/java
![[IBM i]](../images/iseries.gif)
wsappid -s Id src/main/java/Employee.java -d src/main/java
![[Windows]](../images/windows.gif)
wsappid.bat -s Id src\main\java\Employee.java -d src\main\java
Uma nova
classe, EmployeeId.java, é gerada no diretório src/main/java. Informações adicionais
Consulte a ferramenta de identidade de Aplicativo nas informações de classes de persistência no Guia do Usuário do Apache OpenJPA para obter mais informações.