From aa5de1d8e7f8f6d68f9be98ad9536e4f6db88b6f Mon Sep 17 00:00:00 2001 From: Evgeny Mandrikov Date: Thu, 7 Apr 2011 17:14:17 +0400 Subject: [PATCH] SONAR-2234 JpaDatabaseSession: improve exception message for persist operations --- .../java/org/sonar/jpa/session/JpaDatabaseSession.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sonar-core/src/main/java/org/sonar/jpa/session/JpaDatabaseSession.java b/sonar-core/src/main/java/org/sonar/jpa/session/JpaDatabaseSession.java index 6c87056f278..12c0f7c7a88 100644 --- a/sonar-core/src/main/java/org/sonar/jpa/session/JpaDatabaseSession.java +++ b/sonar-core/src/main/java/org/sonar/jpa/session/JpaDatabaseSession.java @@ -109,7 +109,15 @@ public class JpaDatabaseSession extends DatabaseSession { } private void internalSave(Object model, boolean flushIfNeeded) { - entityManager.persist(model); + try { + entityManager.persist(model); + } catch (PersistenceException e) { + /* + * See http://jira.codehaus.org/browse/SONAR-2234 + * In some cases Hibernate can throw exceptions without meaningful information about context, so we improve them here. + */ + throw new PersistenceException("Unable to persist : " + model, e); + } if (flushIfNeeded && (++index % BATCH_SIZE == 0)) { commit(); } -- 2.39.5