sc.setPrice(sg.getPrice()); insert.save(sc); 
//加一句 试一下。
insert.flush();

解决方案 »

  1.   

    乱吗.我阐述一下我的代码:就是在subgoods中表查找参数id,如果在subgoods表存在,就是把这条记录,插入到shoppingcart表中去...不存在,先不管
      

  2.   

    你就提交一次,你还想存几个值?你这个代码不规范,太乱了,你把t.commit() 放到for里面试试,把beginTransaction()也放进去,试试
      

  3.   

    因为你只构造了一个Shoppingcart 
    把Shoppingcart sc=new Shoppingcart(); 
    放到 while(it.hasNext()){ 
    Shoppingcart sc=new Shoppingcart(); 
    sg=(Subgoods)it.next(); 
    sc.setName(sg.getName()); 
    sc.setPrice(sg.getPrice()); 
    insert.save(sc); 
      

  4.   

    for(int i=0;i <id.length;i++){ 
    Transaction t=insert.beginTransaction(); 
    Query q=select.createQuery("from Subgoods where id="+Integer.valueOf(id[i])); 
    List l=q.list(); 
    Iterator it=l.iterator(); 
    while(it.hasNext()){ 
    sg=(Subgoods)it.next(); 
    sc.setName(sg.getName()); 
    sc.setPrice(sg.getPrice()); 
    insert.save(sc); 

    t.commit(); 
    } HibernateSessionFactory.closeSession(); 

    just do it 
      

  5.   

    public void selectId(String[] id) { 
    //Session select = HibernateSessionFactory.getSession(); 
    Session insert = HibernateSessionFactory.getSession(); 
    //insert.createQuery("from Shoppingcart"); 
    Transaction t=insert.beginTransaction(); 
     
    //Subgoods sg=new Subgoods(); for(int i=0;i <id.length;i++){ 
    Query q=select.createQuery("from Subgoods where id="+Integer.valueOf(id[i])); 
    List l=q.list(); 
    Iterator it=l.iterator(); 
    while(it.hasNext()){ 
    Subgoods sg=(Subgoods)it.next(); 
    Shoppingcart sc=new Shoppingcart();
    sc.setName(sg.getName()); 
    sc.setPrice(sg.getPrice()); 
    insert.save(sc); 


    t.commit(); 
    HibernateSessionFactory.closeSession(); 

    public static void main(String[] args) { 
    ConnectionDB con=new ConnectionDB(); 
    String id[]={"1","4"}; 
    con.selectId(id); 

      

  6.   

    songsong8兄弟,你的意见,不行.我试过了..不过辛苦你了...
    memoordit兄弟,你的是对的..
    为什么,在while中每循环一次就得创建Subgoods sg=(Subgoods)it.next();  
    Shoppingcart sc=new Shoppingcart(); 
    这个呢..