java.sql.Exception:setString 只能处理少于 32766 个字符的字符串

在使用hibernate进行大批量更新数据时,有时候需要注入的参数会很长。假如你的Id是uuid生成的,批量更新上千条数据,那么如果使用in(...)这种方法的话,那么in里面采用setString(..,..)的方法那么很有可能会报这个错误,因为关联表中String的长度限制是32k,而Java终String本身是没有长度限制的,如果你的String长度超过32k,那么很有可能会报这个错误。

解决方法:这个问题实际上很简单,将in(id=xx,id=xxx....)改成id=xx or id = xxx...这种采用or关键字即可

你可能感兴趣的:(java,Hibernate,String)