Uma unidade de persistência será necessária se você estiver usando persistência de Java no aplicativo. Uma unidade de persistência é uma coleção de propriedades com nome exclusivo que são usadas para determinar como um conjunto específico de entidades em um aplicativo é gerenciado e persistente.
As unidades de persistência são definidas no arquivo persistence.xml. Pode haver mais uma unidade de persistência definida em persistence.xml, mas cada uma delas deve ter um nome exclusivo.
Propriedades especificadas em uma unidade persistência incluem as seguintes:
As unidades de persistência podem ser empacotadas como parte de um arquivo WAR ou JAR-EJB, ou como um arquivo JAR que pode então ser incluído no aplicativo.
O escopo de uma unidade de persistência é determinado pela localização do persistence.xml. Quando você usar um assistente para criar uma unidade de persistência, o IDE cria persistence.xml no local apropriado para o escopo. Por exemplo, se você usar o IDE para criar uma unidade de persistência para um módulo EJB, o IDE gera persistence.xml no diretório src/conf para o módulo EJB. Quando o JAR EJB é construído, ele empacota persistence.xml no diretório META-INF do JAR EJB. O escopo da unidade de persistência é o conjunto de classes no arquivo JAR EJB.
Se o escopo não for especificado explicitamente em uma unidade de persistência, por padrão todas as entidades no arquivo JAR EJB estarão dentro do escopo da unidade de persistência definido em persistence.xml.
Observações:
Um provedor de persistência refere-se a uma implementação da API de persistência de Java. O provedor de persistência é uma biblioteca que oferece a funcionalidade para que objetos sejam persistentes no aplicativo.
O provedor de persistência TopLink Essentials está incluído no IDE. TopLink Essentials é a implementação de referência e o provedor padrão da persistência de Java no Sun Java System Application Server 9, Platform Edition. O provedor de persistência de TopLink Essentials é uma biblioteca que consiste em toplink-essentials.jar e toplink-essentials-agent.jar. Você pode usar TopLink Essentiais como provedor ou especificar um outro provedor de persistência.
Uma fonte de dados refere-se ao banco de dados em que entidades de persistências estão armazenadas. A fonte de dados deve estar registrada no servidor e especificada com o nome JNDI. Se as transações forem transações JTA gerenciadas por recipiente, a fonte de dados deve ser uma fonte de dados JTA. Se as transações forem gerenciadas por aplicativo, a fonte de dados será especificada de acordo com a conexão do banco de dados JDBC registrada no IDE.
Em ambientes Java SE, o banco de dados é especificado usando uma fonte de dados ou outros meios, dependendo dos requisitos do provedor de persistência usado.
Uma unidade de persistência especifica como as transações são gerenciadas no aplicativo. O tipo de transação usado depende do recipiente de destino. Se você estiver implantando em um recipiente de Java EE, as transações podem ser gerenciadas pelo recipiente ou pelo aplicativo. Se não estiver implantando em um recipiente de Java EE, as transações devem ser gerenciadas pelo aplicativo.
Em persistence.xml, o tipo de transação para a unidade de persistência é definido para JTA. Se estiver implantando o Sun Java System Application Server, ao criar a unidade de persistência esta opção será selecionada por padrão.
Em persistence.xml, o tipo de transação para a unidade de persistência é definido para RESOURCE_LOCAL.