Description
Actually service layer processes three relative low level exceptions from persistence:
org.apache.ibatis.exceptions.PersistenceException;
org.springframework.orm.jpa.JpaSystemException;
javax.persistence.PersistenceException
Suggestion: abstract service implementation from persistence a little bit more and wrap these three exceptions in high level Syncope PersistenceException.
From my perspective it helps for the cases when Syncope will support alternative persistence technologies like Hibernate JPA, EclipseLink JPA or even LDAP, JCR, non-SQL DBs.
https://cwiki.apache.org/confluence/display/SYNCOPE/Remote+Exceptions