在使用liferay6.2版本开发portlet模块的时候,后台获取当前entity对象的主键值报错,大概的报错信息如下:
Data too long for column 'name' at row 1
看意思是某张表的name列字段长度不够,经反复研究,发现这个字段的表是liferay自己建的,这张表名是counter
打开这张表可以发现,有2个字段一个是我们报错的name字段,还有一个是currentId字段(负责记录序列当前增长值)。
我用的是mysql,可以看出name的字段长度是varchar(75).当我们调用CounterLocalServiceUtil.increment(entityAA.class.getName());方法的时候,就会去获取这张表的currentId值。
可以看出name是entityAA的model路径,我的错误就是这样引起了。
解决方案:
说了一帕拉,很简单,把entityAA的model路径改到75以下就ok了!
Data too long for column 'name' at row 1
看意思是某张表的name列字段长度不够,经反复研究,发现这个字段的表是liferay自己建的,这张表名是counter
打开这张表可以发现,有2个字段一个是我们报错的name字段,还有一个是currentId字段(负责记录序列当前增长值)。
我用的是mysql,可以看出name的字段长度是varchar(75).当我们调用CounterLocalServiceUtil.increment(entityAA.class.getName());方法的时候,就会去获取这张表的currentId值。
可以看出name是entityAA的model路径,我的错误就是这样引起了。
解决方案:
说了一帕拉,很简单,把entityAA的model路径改到75以下就ok了!