
AS2 – INFORME DE REVISIÓN DE LOGS
ÍNDICE
Logs Solventado Ep (Diego álvaro) 4
Objetivo
El presente informe tiene como objetivo documentar las actividades realizadas durante la revisión de logs del sistema, los hallazgos encontrados y los aprendizajes obtenidos durante este proceso.
Alcance del trabajo
Se Incluye la revisión de logs de varios proyectos entre ellos Base en 0, Andean, Drocaras y FeAlegria, para identificar mensajes informativos de advertencia y de errores de Hibernet, con el objetivo de analizar el comportamiento al deployar el AS2.
Hallazgos encontrados
1) Log equals() y HashCode().
- WARN [org.hibernate.mapping.RootClass] (ServerService Thread Pool — 3625) HHH000038: Composite-id class does not override equals(): com.asinfo.as2.entities.vista.VVacacionProvision
- WARN [org.hibernate.mapping.RootClass] (ServerService Thread Pool — 3625) HHH000039: Composite-id class does not override hashCode(): com.asinfo.as2.entities.vista.VVacacionProvision
2) Log Columnas Existentes.
- WARN [org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl] (ServerService Thread Pool — 3625) GenerationTarget encountered exception accepting command : Error executing DDL «ERROR: ya existe la columna «indicador_notificar_movimientos_partidas_presupuestarias_aproba» en la relación «tipo_contacto»
- «texto_cuerpo_correo_movimientos_partidas_presupuestarias_aproba»
- «texto_cuerpo_correo_promocion_producto_marginalidad_menor_porce»
3) Log Indices Existentes.
- 2026-01-12 11:13:19,406 WARN [org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl] (ServerService Thread Pool — 3625) GenerationTarget encountered exception accepting command : Error executing DDL «create index ix_detalle_liquidacion_anticipo_cliente_liquidacion_anticipo_cliente on detalle_liquidacion_anticipo_cliente (id_liquidacion_anticipo_cliente
- ix_detalle_orden_despacho_cliente_pedido_detalle_orden_despacho_cliente
- ix_detalle_orden_despacho_cliente_pedido_cliente_detalle_pedido_cliente
- IX_detalle_solicitud_compra
- ix_inventario_producto_detalle_devolucion_proveedor_consignacion
4) Log con diferente tipo de dato.
- WARN [org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl] (ServerService Thread Pool — 80) GenerationTarget encountered exception accepting command : Error executing DDL » Column ‘sistema.id_sistema’ is not the same data type as referencing column ‘tarea_programada.id_sistema’ in foreign key ‘FKsrctjb4ma7ke0afhnyb4rg20o’.
- Column ‘moneda.id_moneda’ is not the same data type as referencing column ‘empresa.id_moneda’ in foreign key ‘FK5sl7wv9odl8ocsahec0mift4j’.
5) Log de unique.
- WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ServerService Thread Pool — 80) no existe la restricción «uc_tarea_programada_organizacion_tarea_programada_enum_criterio» en la relación «tarea_programada», omitiendo
Análisis de los hallazgos
- Log equals() y HashCode().
En este caso dicho log me informa que las entidades VVacacionProvision y VVacacionProvision no sobre escribe los métodos equals() y hashCode().
- Log Columnas Existentes.
De acuerdo a las columnas mencionadas anteriormente surge un inconveniente directamente en la base de datos de PostgreSQL ya que para dicho motor se define actualmente como 64 bytes (63 caracteres utilizables más terminador) para sus nombre, internamente Hibérnate toma el nombre total y al superar dicho limite y por ello me arroja el WARN.
PostgreSQL Global Development Group. (s. f.). Character types. PostgreSQL Documentation. https://www.postgresql.org/docs/current/datatype-character.html
- Log Índices Existentes.
- De acuerdo a los índices mencionadas anteriormente surge un inconveniente directamente en la base de datos de PostgreSQL ya que para dicho motor se define actualmente como 64 bytes (63 caracteres utilizables más terminador) para sus nombre, internamente Hibérnate toma el nombre total y al superar dicho limite y por ello me arroja el WARN.
En índice “IX_detalle_solicitud_compra” me arroja como Warn ya que al validarlo en la base no lo toma como mayúsculas.
PostgreSQL Global Development Group. (s. f.). Character types. PostgreSQL Documentation. https://www.postgresql.org/docs/current/datatype-character.html
- Log con diferente tipo de dato.
En dicho log me informa que las columnas id_sistema y id_moneda, en las distintas tablas no comparten el mismo tipo ya que una se crea como int y en la otra tabla como bigint.
- Log de unique.
Hibérnate intenta ejecutar una acción contra el unique y al no encontrarlo en la base de datos me arroja dicho Warn.
Logs Solventado EN Ep-3012
3) Log Índices Existentes.
Todos los Índices fueron solucionados mediante la EP-3012, los que sobrepasaron el límite de caracteres se pudo determinar que se limitaron borrando las vocales.

Y el Índice con Mayúsculas se lo ingreso con todos sus caracteres en minúsculas y de igual manera fue solventado.
Solución
- Log equals() y HashCode().
La clave compuesta la cual no implementa los métodos equals() y HashCode(), la solución es implementar dichos métodos en la clase del identificador.
- Log Columnas Existentes.
La solución consiste en limitar el número de caracteres de la columna como recomendación aplicando abreviaturas.
- Log con diferente tipo de dato.
Al deployar un proyecto florícola las dependencias son creadas como Bigint pero al efectuar la FK al tipo de dato int nos refleja como error y las Foreing key no son creadas.
