Jpa /休眠抛出异常不是信息性的

时间:2020-04-28 13:49:07

标签: java hibernate jpa orm

我已经搜索了答案,但是找不到任何有用的信息。

所以我正在使用Hibernate作为orm的Spring Boot项目。 在持久层上发生异常时,Hibernate不会提供有关异常的详细信息。

例如,如果发生DataIntegrityViolationException(字符串变量太长),则它不会告诉哪个字段导致了此异常。

有什么办法可以做到这一点?

谢谢。

编辑: 根据要求添加了代码片段。 由于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);
    }
}

0 个答案:

没有答案