Я искал ответ, но не смог найти никакой полезной информации по этому вопросу.
Так что я работаю над проектом Spring Boot с Hibernate as orm. Когда возникает исключение на уровне постоянства, Hibernate не дает подробных сведений об исключении.
Например, если возникает DataIntegrityViolationException (слишком длинная строковая переменная), он не сообщает, какое поле вызвало это исключение.
Is Есть ли способ достичь этого?
Заранее спасибо.
Редактировать: Добавлены фрагменты кода в соответствии с просьбой. Это поле выдает ошибку, поскольку uri может превышать 255 символов. Но оно ничего не говорит о сущности или поле сущности, вызвавшей исключение. Я приложил некоторые усилия, чтобы найти проблему.
@Convert(converter = URIConverter.class)
@Column(unique = true, updatable = false,nullable = false)
private URI fileUri;
@Component
public class URIConverter implements AttributeConverter<URI, String> {
@Override
public String convertToDatabaseColumn(URI uri) {
return (null == uri) ? null : uri.toString();
}
@Override
public URI convertToEntityAttribute(String s) {
return (null == s || s.isEmpty()) ? null : URI.create(s);
}
}