O aprimoramento processo Java é uma ferramenta que adiciona automaticamente o código para classes persistentes . Os códigos de byte gerado pelo compilador Java usar o pós- processo potenciador . Além disso, as modificações feitas pelo código byte tem compatibilidade com depuradores Java. Isso preserva os números de linha em rastreamentos de pilha . Após o potenciador acrescenta interfaces, campos e métodos para as classes persistentes , o intensificador armazena as informações em um armazenamento de dados . Tempo
Os usuários podem solicitar o potenciador em tempo de compilação através de uma classe Java, e potenciador aceitará o conjunto padrão de argumentos de linha de comando . O quadro de configuração utiliza diferentes conjuntos de sinalizadores para definir parâmetros, incluindo a capacidade de adicionar um protegido construtor sem argumento para uma classe persistente . Se um argumento não é fornecido através do realçador , o argumento será executado nas classes na lista de classe persistente. O argumento deve usar o nome completo de uma classe , o arquivo . Java para uma classe ou arquivo de classe. De uma classe.
Implantação
Java EE 5 usa ganchos para melhorar automaticamente entidades JPA quando implantado em um recipiente. O OpenJPA aumenta as entidades em tempo de execução quando se usa um servidor compatível. Além disso, o OpenJPA reconhece e corrige ou ignora quaisquer conflitos de aprimoramento .
Runtime
Um agente Java em OpenJPA melhora automaticamente classes persistentes durante o processo de carregamento. Além disso, esses agentes usam ganchos para pegar classes que têm metadados persistência antes de carregar. O processo de busca de metadados é demorado e vai abrandar a inicialização do aplicativo . No entanto , os usuários podem acelerar esse processo , declarando uma lista de classe persistente. Neste caso, OpenJPA só irá procurar dentro da lista especificada para metadados.
Metadados
Depois que os usuários definethe metadados com base na declaração de classe , o intensificador vai gerar a sua própria metadados . Os metadados , em seguida, passa a fazer parte de cada classe persistente como um campo estático quando adicionado durante acessório. Diferentes tipos de campos estáticos também significar metadados de nível de classe. Os usuários podem facilmente acessar essas informações de metadados para gerenciar os campos da classe .