如何在java中捕获特定的hibernate异常

时间:2015-03-18 04:36:13

标签: java json hibernate exception

如果发生任何hibernate异常,我想在catch块中捕获特定的字段名称。例如:我的列名为“product_desc”,如果我尝试插入超过1000个字符,它应该抛出 - 数据对于product_desc来说太长了 - 这条消息我要抓住“Catch Clause”。

我的输入格式是Json请求,如下所示:

{
"product": [
    {
        "prod_name": "Apple iphone",
        "price": "500",
        "prod_desc": "Test description."
    }
]

}

如果用户尝试插入超过指定长度,那么“prod_desc”将失败并且 - hibernate抛出异常但是我想在catch块中捕获列名并向最终用户显示说明prod_desc值太长而无法插入

如果有人能帮助我处理这种情况,那将非常感激和乐于助人。

谢谢!

1 个答案:

答案 0 :(得分:0)

你可能会遇到像hibernate这样的异常 org.hibernate.exception.DataException

捕获此类异常并获取异常消息,在这种情况下,您将收到消息

MysqlDataTruncation: Data truncation: Data too long for column 'prod_desc' at row 1

从邮件中,您将获得列名。

根据需要使用消息编写自己的RuntimeException。