SóProvas


ID
142261
Banca
CESGRANRIO
Órgão
BNDES
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Entity EJB e o statement SQL "SELECT FOR UPDATE" são técnicas para se implementar o padrão arquitetural

Alternativas
Comentários
  • Gabarito: C

    SELECT FOR UPDATE é bloqueio pessimista de linhas, pois todas as linhas que estão sendo modificadas são bloqueadas pelo usuário e ninguém mais pode realizar alterações até que o bloqueio (lock) seja liberado.

  •  OBS: Repare que isso não tem haver com Java e sim banco de dados. É um bloqueio pessimista por "travar" as linhas da tabela evitando seu acesso.

  • Pessoal,
    retirado diretamente do livro do Fowler:

    "Pessimistic Offline Lock

    by David Rice

    Prevents conflicts between concurrent business transactions by allowing only one business transaction at a time to access data.
    "
  • Há cinco formas modos de bloqueio JPA com LockModeType :
    OPTIMISTIC
    OPTIMISTIC_FORCE_INCREMENT
    PESSIMISTIC_READ
    PESSIMISTIC_WRITE
    PESSIMISTIC_FORCE_INCREMENT

    O código Java:
    entityManager.find(Department.class, 1, LockModeType.PESSIMISTIC_WRITE);

    Produz a seguitne tradução SQL:
    SELECT ID, NAME, VERSION FROM DEPARTMENT WHERE ID = 1 FOR UPDATE;