如果发生任何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值太长而无法插入
如果有人能帮助我处理这种情况,那将非常感激和乐于助人。
谢谢!
答案 0 :(得分:0)
你可能会遇到像hibernate这样的异常 org.hibernate.exception.DataException
捕获此类异常并获取异常消息,在这种情况下,您将收到消息
MysqlDataTruncation: Data truncation: Data too long for column 'prod_desc' at row 1
从邮件中,您将获得列名。
根据需要使用消息编写自己的RuntimeException。