入职新公司,没用spring,框架比较老,struts+hibernate。
struts遇到的异常:
java.sql.SQLException: Positioned Update not supported.
咋一看是sql异常,还以为是hibernate问题。
查了大量资料,网上一堆不知所云、千篇一律的回答,看的火大。
后来看了其他人写的代码,并且去struts官网上逛了一下,意识到struts返回的对象的属性可能只支持基本类型。于是乎,把问题定位到了返回对象属性的序列化上。
又找了些资料,说是要加@JSON(serialize = false),加了发现没有效果。
官网上说是在struts.xml的返回结果中加excludeProperties参数,如下:
<result type="json">
<param name="root">data</param>
<param name="excludeProperties">\\*.department</param>
</result>
正则表达式还是自己凑的,官网上没有\\*的写法。
发现还是不行。
最终解决是:在对象属性的getter上加@JSON(serialize = false)并且在配置外键中加excludeProperties,或者在getter上加@JSON(serialize = false,deserialize=false)