hibernate中一个购物车A表另一个是订单B表 这两个表之间没有主外键关系 我在hibernate中添加了一对多的关系映射配置
我在B表的set集合中添加了多个a对象 然后将b对象save 这时看数据库 两个表的数据都添加成功了 不过a表中b表的外键却没有添加
为什么 如何解决 请帮忙指点一下,小弟才疏学浅,希望各位不吝赐教
dao的方法
public boolean addOrderForm(Map mapCart,String username)
{
Bestellt bestellt=null;
Userdateperfect userdate=null;
Session session=getSession();
Transaction ts=session.beginTransaction();
Object objaddress=mapCart.get("address");
try {
ts.begin();
if(objaddress!=null)
{
userdate=(Userdateperfect)mapCart.get("address");
userdate.setUsername(username.toString());
for(int i=0;i
{
Object obj=mapCart.get("bestellt"+i);
if(obj!=null)
{
bestellt=(Bestellt)obj;
bestellt.setUsername(username.toString());
bestellt.setBrealname(userdate.getUdrealname());
bestellt.setBoperatingdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
//下面的错误地点这里是我找到答案后后加的,只有这样才能让best的外键和userdate的外键相关联上
bestellt.setUserdateperfect(userdate);
userdate.getBestellts().add(bestellt);
}
}
session.save(userdate);
ts.commit();
}
} catch (Exception e) {
ts.rollback();
System.out.println(e.toString()+" AddCartDAO.addOrderForm()添加购物车失败");
return false;
}
return true;
}
购物车vo中类其中的关联对象的部分
package unite.vo;
/**
* Bestellt generated by MyEclipse Persistence Tools
*/
@SuppressWarnings("serial")
public class Bestellt implements java.io.Serializable {
// Fields
private Integer bid;//被订购id
private String username;//被订购用户名字
private Integer pid;//被订购产品id
private String btime;//被订购时间
private int cid;//产品俱乐部cid
private int bstatus;//状态 0是未结束订单:1是已结束:
private Integer udid; //订单地址
private String brealname;//用户完善信息地址中的真实姓名
private String biscancel;//0是取消审批:1是订单已取消
private Integer btype;//是否是抢购商品 1是抢购:0是普通订购
private String message;//是否是该俱乐部会员</