From bc0199312f825e9e51bc9623cffaf03603e6424a Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Thu, 27 Nov 2025 18:55:43 -0300 Subject: [PATCH] Add null and open-state checks for EntityManager and EntityManagerFactory closure - Ensure safe closure of `EntityManager` and `EntityManagerFactory`. - Add logging for successful closure and error handling during exceptions. --- .../service/database/DatabaseManager.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/mediamanager/service/database/DatabaseManager.java b/src/main/java/com/mediamanager/service/database/DatabaseManager.java index 58ba7e4..ae9e934 100644 --- a/src/main/java/com/mediamanager/service/database/DatabaseManager.java +++ b/src/main/java/com/mediamanager/service/database/DatabaseManager.java @@ -48,6 +48,22 @@ public abstract class DatabaseManager { } public void close() { + if (entityManager != null && entityManager.isOpen()) { + try { + entityManager.close(); + logger.info("EntityManager closed"); + } catch (Exception e) { + logger.error("Error closing EntityManager: {}", e.getMessage()); + } + } + if (entityManagerFactory != null && entityManagerFactory.isOpen()) { + try { + entityManagerFactory.close(); + logger.info("EntityManagerFactory closed"); + } catch (Exception e) { + logger.error("Error closing EntityManagerFactory: {}", e.getMessage()); + } + } if (connection != null) { try { logger.info("Closing database connection...");