Tab Bloqueio

Para especificar uma política de bloqueio do descritor, use este procedimento:

1. No Navegador, selecione um descritor-raiz relacional ou de EIS.

   Se a propriedade avançada Bloqueio não estiver visível para o descritor, clique com o botão direito do mouse no descritor e escolha Selecionar Propriedades Avançadas > Bloqueio no menu de contexto ou no menu Selecionado.

2. Clique na tab Bloqueio.

Use esta tabela para inserir dados nos seguintes campos da tab do tipo apropriado:

Campo | Descrição
--- | ---
Bloqueio Otimista | Especifica se o descritor utilizará o bloqueio otimista.
Por Versão | Especifica o uso do bloqueio otimista, baseado no controle de versão.
Campo do Banco de Dados | Selecione o campo do banco de dados que contém o número da versão usado para o bloqueio otimista. Este campo é exibido somente para descritores relacionais.
XPath | Clique em Procurar para definir o caminho para o elemento ou atributo que armazena o valor da versão. Este campo é exibido somente para descritores-raiz de EIS. Certifique-se de que o tipo de atributo corresponde ao tipo de política de bloqueio que você escolheu (`numérico` para Bloqueio de Versão e `timestamp` para Bloqueio de Timestamp).
Bloqueio de Versão | Especifica se o descritor usa bloqueio de versão numérico. O campo de versão (definido pelo Campo do Banco de Dados, para descritores relacionais, ou o XPath, para descritores-raiz de EIS) deve ser um tipo `numérico`.
Bloqueio de Timestamp | Especifica se o descritor usa o bloqueio de versão de timestamp, com base no timestamp. O campo de versão (definido pelo Campo do Banco de Dados, para descritores relacionais, ou o XPath, para descritores-raiz de EIS) deve ser um tipo de `timestamp`

Armazenar Versão no Cache

Especifica se você deseja ou não armazenar as informações sobre versão no cache.

Se você optar por não definir um mapeamento para o campo de versão, deverá ativar esta opção para configurar o descritor de forma a armazenar o valor da versão no cache do Oracle TopLink.

Se você optar por definir um mapeamento para o campo de versão, então você deve desativar esta opção para armazenar o valor da versão do objeto.

Para obter mais informações, consulte "Bloqueio Otimista em um Aplicativo de Três Camadas".

Por Campos Rodapé 1 | Especifica o uso do bloqueio otimista, baseado nos campos do banco de dados. Estes campos são exibidos apenas para descritores relacionais.
Todos os Campos | Selecione todos os campos para bloqueio otimista.
Campos Alterados | Selecione somente os campos alterados para bloqueio otimista.
Campos Selecionados | Clique em Adicionar para selecionar campos do banco de dados específicos para bloqueio otimista.
Bloqueio Pessimista | Especifica o uso do bloqueio pessimista neste descritor. Aplica-se somente a descritores cujas informações do EJB foram configuradas para eles (consulte "Configurando um Descritor com Informações sobre o EJB").

Aguardar Bloqueio

Especifica se o TopLink deve ou não aguardar um bloqueio de origem de dados. Quando não selecionado, um thread de execução gerará imediatamente uma `DatabaseException` se não puder obter um bloqueio de gravação no objeto.

Quando selecionado, o thread de execução aguardará indefinidamente até o bloqueio de gravação ser liberado, neste ponto ele tentará obtê-lo. Use esta opção com cuidado, pois ela pode conduzir a deadlocks do aplicativo.

Rodapé 1 Você não pode usar o bloqueio do campo com o `AttributeChangeTrackingPolicy` (consulte "Política de Rastreamento de Alteração de Atributo").

Consulte Também

  Configurando a Política de Bloqueio