效率不高
但是可行毕竟没oracle的seq设计的那么好

解决方案 »

  1.   

    已经解决,谢谢大家
    配上级联
    ....
    Session s=this.getHibernateTemplate().getSessionFactory().getCurrentSession();
    s.save(fainfo);
    PaperInfo paper=new PaperInfo();
    paper.setFaInfo(fainfo); 
    s.save(paper);
    ...
      

  2.   

    继续这个问题
    通过级联新增加一条厂家信息可以插入若干条纸张信息
    但是修改厂家信息的时候发现纸张信息表的faid又被更新成Null,不想修改fa_info影响到
    PaperInfo的faid请教这该怎么办??
    public  FaInfo saveOrupdaeFainfo(FaInfo fainfo,boolean isNewSaved) {

    if(isNewSaved) //isNewSaved==true 新建工厂信息isNewSaved==false更新厂家信息
    {

    if(isNewSaved)
    {
    Session s=this.getHibernateTemplate().getSessionFactory().getCurrentSession();
    s.save(fainfo);

    PaperInfo p=new PaperInfo();
    p.setFaInfo(fainfo); 
    s.save(p);
            s.flush();
    }
    else
    {
    //更新操作

    this.getHibernateTemplate().saveOrUpdate(fainfo);
    /*这里有问题,执行fainfo更新,并且PaperInfo的faid被改成了Null*/

    }

    return fainfo;
    }
      

  3.   

    附上级联
    <set name="PaperInfo" cascade="save-update,delete" inverse="false">
                <key>
                    <column name="fa_id" />
                </key>
                <one-to-many class="com.yixing.data.po.PaperInfo" />
            </set>