As the other answers have mentioned, most of the time you are limited to what you are given by the database. However in some cases Hibernate can tell you the problem - it won't be the table and field, but can be the entity and property
For example if you try to put too large a value in a column you can use this:
try {
entityManager.persist(object);
} catch (InvalidStateException e) {
log.info("Caught Hibernate exception: #0", e.getClass().getName());
InvalidValue[] invalidValues = e.getInvalidValues();
for(InvalidValue invalidValue : invalidValues) {
log.info("Invalid Property #0 has value: #1", invalidValue.getPropertyName(), invalidValue.getPropertyName());
}
}