Jpa / Hibernate Throw Исключение не является информативным - PullRequest
0 голосов
/ 28 апреля 2020

Я искал ответ, но не смог найти никакой полезной информации по этому вопросу.

Так что я работаю над проектом 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...