¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como declarar uma tabela de banco de dados para um gerador de versões no SAP JPA com TRANSACTION_READ_UNCOMMITTED

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Estou obtendo

Se esta unidade de persistência deve ser executada com o nível de isolamento TRANSACTION_READ_UNCOMMITTED,
 deve ser fornecida uma tabela de banco de dados para um gerador de versões e o nome da
 esta tabela deve ser especificado no arquivo persistence.xml usando a propriedade 
com.sap.jpa.versioning.generator.tablename.

Alguém pode me fornecer a declaração CREATE TABLE para isso // É especificado o design por JPA?

Obrigado

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Na verdade, estou agora lidando com o problema da DuplicateKeyException em um nível mais baixo. Estou criando as entidades em uma transação separada.

O problema é que @Retriable não resolveria meu problema, pois a DuplicateKeyException está profundamente aninhada dentro de outras Exceções.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Bem, por que não?

Na realidade, tudo depende de como você organiza a lógica do seu negócio. Se você puder identificar o método de negócio específico que lança a DuplicateKeyException, então você deve torná-lo reutilizável para essa exceção, e é isso. Lembre-se de que todo o método de negócio será reexecutado, então a lógica neste método deve ser de alguma forma "atômica", ou seja, se contiver partes que você não deseja que sejam reexecutadas, então provavelmente você precisará projetar um novo método de negócio que encapsule apenas as partes reutilizáveis.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

No meu caso faz sentido... Não quero explicar todo o meu caso de uso, então apenas imagine um pool de strings em um banco de dados... O método de negócio tenta obter a string existente para apontar para outro objeto e, se ainda não existir, a string é criada. Com concorrência e uma chave secundária, isso poderia falhar...

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Na verdade, pode resolver o seu problema.

O contêiner EJB "escuta" qualquer exceção que o seu método de negócio reutilizável possa lançar, e quando captura uma, investiga toda a sua cadeia de causas. Se encontrar uma exceção que está na lista de retryOn, então o método será tentado novamente.

O que é um pouco estranho aqui é o seu caso de uso específico. Em uma situação normal, você não pode lidar com DuplicateKeyException com um método de tentativa novamente, porque esta exceção indica que está tentando violar o estado do banco de dados. Em um método de tentativa novamente, você só pode ter sucesso se realizar alguma lógica de exclusão (para limpar a tabela), talvez...

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?