今天使用S2SH框架自己做了个单表增加功能,遇到两个问题,并解决了,做下记录。
问题1:
今天在用s2sh做一个单表的插入功能是,发现hibernate在执行插入sql时抛出异常:
说主键不能为空。但是我的主键有值,将hql语句输出发现insert语句中没有插入主键那一列。
解决方案:
后来查了下,hibernate的配置文件*.hbm.xml对主键是有生成策略的,我设置的是主键自增,但是后台数据库并没有对主键字段设置自增,所以他就会报错。
将配置文件主键生成策略改为自定义就可以了。
<id name="userid" type="java.lang.Integer">
<column name="userid" />
<generator class="assigned" />
</id>
参考网站:http://developer.51cto.com/art/200906/132120.htm
问题2:
使用struts2框架,在配置文件中我想实现从一个action跳转到另外一个action,开始设置直接在返回的结果中输入action名,但是不好用。
<action name="userInsertAction" class="userAction" method="userInsert">
<result name="success">userAction.action</result>
</action>
解决方案:
应该在返回的结果中,增加一个属性type="redirect"
<action name="userInsertAction" class="userAction" method="userInsert">
<result name="success" type="redirect">userAction.action</result>
</action>