【发布时间】:2014-12-19 11:53:39
【问题描述】:
我的要求是在数据库中存储一个图像数组。在存储该图像数组时,Hibernate 抛出异常 GenericJDBCException & 大量堆栈跟踪 & 然后 Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large。我的要求是在遇到PacketTooBigException 时增加db 的数据包查询大小。所以我采取了catch(PacketTooBigException e){...} 和catch (Exception e){..} 的两个catch 块。
但是 Hibernate 从来没有像在 JDBC 中那样直接抛出 PacketTooBigException。 Hibernate 首先抛出GenericJDBCException,然后是Caused by: com.mysql.jdbc.PacketTooBigException:。为了克服这种情况,我在 catch 块中写了if(e.getCause().getClass() == PacketTooBigException.class){..my job..}。
1) 我走对路了吗?
2)或者任何人都可以建议我更好的方法,以便我可以直接捕获PacketTooBigException。
感谢您的宝贵时间。
【问题讨论】:
标签: java mysql database hibernate