hql 一对多判断子表是否为空_hibernate一对多关系 添加A表后B表级联添加成功 可是b表外键却为空 为什么...

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;//是否是该俱乐部会员</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值