您的位置:首页 > 其它

在这次ssh整合项目中遇到比较难解决的问题!!

2009-09-16 08:32 399 查看
第一:问题:action提交时,数据库中总是插入两条记录。

原因:我用的js中的onsubmit="return xxx()",这里也执行了一次提交。

<form method="post" name="reg" action="register.do?command=register" onsubmit=""> <!--这里不能return了-->


第二:问题:就是用spring中的HibernateTemplate的save方法,总是有一条记录不能被插入。

原因:就是在根据对象放入id的时候,要按照顺序插入。

Order order = new Order();
PayWay payway = new PayWay();
payway.setPaywayid(1);
order.setPayway(payway);
OrderStatus status = new OrderStatus();
status.setOrderstatusid(1);
order.setStatus(status);
User user = new User();
user.setUserid(1);
order.setUser(user);
try {
orderDao.addOrder(order);
} catch (ManagerOrderException e) {
e.printStackTrace();
}


这里 开始 我把User放到最前面的时候到order表中去查询的时候,userid总是为空。

当我把user放到最后的时候,userid能正常插入。

第三:问题: 就是cascade不能滥用。

原因: 当你插入一条Order的时候,如果,用了cascade="all"的话,其他的与order对象有关联的都会被update。

解决:

<many-to-one name="payway" column="paywayid" insert="true" lazy="false"/>
<many-to-one name="status" column="statusid" lazy="false" insert="true"/>
<many-to-one name="user" column="userid"  update="true"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: