¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo declarar una tabla de base de datos para un generador de versiones en SAP JPA con TRANSACTION_READ_UNCOMMITTED

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

Estoy obteniendo

If esta unidad de persistencia debe ejecutarse con el nivel de aislamiento TRANSACTION_READ_UNCOMMITTED,
 se debe proporcionar una tabla de base de datos para un generador de versiones y el nombre de
 esta tabla debe especificarse en el archivo persistence.xml utilizando la propiedad 
com.sap.jpa.versioning.generator.tablename.

¿Alguien puede darme la declaración CREATE TABLE para eso // ¿se especifica el diseño por JPA?

Gracias

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

4 Respuestas

0
Cargando...

De hecho, ahora estoy abordando el problema de DuplicateKeyException a un nivel más bajo. Estoy creando las entidades en una transacción separada.

El problema es que @Retriable no resolvería mi problema, porque la DuplicateKeyException está profundamente anidada dentro de otras Excepciones.

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

Bueno, ¿por qué no?

En realidad, todo depende de cómo organices la lógica de tu negocio. Si puedes localizar el método de negocio en particular que lanza la DuplicateKeyException, entonces deberías hacerlo reintentable para esta excepción, y eso es todo. Ten en cuenta que todo el método de negocio se reintentará, por lo que la lógica en este método debe ser de alguna manera "atómica", es decir, que si contiene partes que no deseas que se reintenten, entonces probablemente necesites diseñar un nuevo método de negocio que encapsule solo las partes reintentables.

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

En mi caso tiene sentido ... No quiero explicar todo mi caso de uso, así que solo imagina un pool de cadenas en una base de datos ... el método de negocio intenta obtener la cadena existente para apuntar a otro objeto y si aún no existe, se crea la cadena. Con concurrencia y una clave secundaria, esto podría fallar ...

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

En realidad, puede resolver tu problema.

El contenedor EJB "escucha" cualquier excepción que tu método de negocio reintentable pueda lanzar, y cuando atrapa una, investiga toda su cadena de causas. Si encuentra una excepción que está en la lista de retryOn, entonces el método se volverá a intentar.

Lo que es algo extraño aquí es tu caso de uso particular. En una situación normal, no puedes manejar DuplicateKeyException con un reintentar método, porque esta excepción te indica que se está intentando violar el estado de la base de datos. En un reintentar método, solo puedes tener éxito si realizas alguna lógica de eliminación (para limpiar la tabla), tal vez...

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?