I'm trying to implement DAO using hibernate. The final product will be multi-platform, and I need to find a platform-independent form of receiving exceptions/errors during dabase operations. Hibernate wraps everthing in very high level exceptions (For instance, ConstraintViolationException). This is not good for me, I need something better to explain the users. After extensive research, all I could find is using the SQLState code returned by the JDBC driver (which is accesible in a nested exception). The problem is that, I cannot find a complete reference of the codes and an explanation of what they mean, to see if they are usefull for what I need to do.
Answer should be either a link to a complete list of Standards-defined SQLStates with the meaning of each one, or another alternative on how to solve the problem.