8535.com-新浦京娱乐场官网|欢迎您

新浦京娱乐场官网java Hibernate 一对多自身关联问

来源:http://www.dnamique.com 作者:计算机网络 人气:71 发布时间:2019-10-07
摘要:java Hibernate 一对多我关联难题,javahibernate关联 Hibernate 一对多作者关联问题  本条很难描述清楚,只可以援用CSDN中自己问问的帖子了: 方法,在表单中拿走二个PO,然后session.save(po),

java Hibernate 一对多我关联难题,javahibernate关联

Hibernate 一对多作者关联问题 

本条很难描述清楚,只可以援用CSDN中自己问问的帖子了:

方法,在表单中拿走二个PO,然后session.save(po),如下: 

 程序代码
            tx = session.beginTransaction();
        session.save(catalog);
        tx.commit();

B方法,也是在表单取得贰个PO,别的获得二个PO_ID,如下: 

 程序代码
     public void addChildCatalog(int id, Catalog c11) {
         Catalog c1 = this.getCatalog(id);
         log.info("c11.getId()::"+c11.getId());
    c1.getChildCatalogs().add(c11);
    c11.setParentCatalog(c1);

    Session session = HibernateUtil.getSession();
    Transaction tx = session.beginTransaction();

    try {
        session.save(c1);
        session.save(c11);
        tx.commit();
    } catch (HibernateException e) {
        if (tx != null) {
        HibernateUtil.rollbackTransaction(tx);
        }
    } finally {
        if (session != null) {
        HibernateUtil.closeSession(session);
        }
    }
}

率先个功用,简称A成效,作者是为着保留二个世界级菜单,没别的关联的。 
其次个成效,B功效,笔者是为着依据这个父ID来做涉嫌保存。 

后日出的主题素材是:小编步向功效页面,使用A功效,符合规律,再采用A作用,平常,很健康。。。使用N次都没难题。 
随着本人利用B功用,不停的扩大子类,也都通常。。。使用N次都很健康。 

潜心问题:当本人使用过B功效之后,一切就变得不正规了,再接纳A作用,相当于和利用B成效一样,依旧在做最终三回的B成效操作!加的是子分类。 

其它难题:小编只得不停的向下延伸子类,不或许步向已有同级分类。比如 

 程序代码
1级 id:1 c_id=null 
2级 id:2 c_id=1 
3级 id:3 c_id=2 

若果数据库中的关联方式是那样的,那么小编只能依照3的id,参加4级,不能够在2级下边踏入同级的3级类,如id:4 c_id=2;那样的,作者不能够参预,调整台独有select操作,不过笔者得以参与id:4 c_id=3的。 

最滑稽的是,当本人把浏览器关了,重开步向页面,A成效寻常了,插手同级id:4 c_id=2;也OK了, 
接着作者向下延长分类,又并发了上述的难点,最让笔者不清楚的是,那跟浏览器啥关系啊!(笔者的IE6,汗) 

其余附上hbm.xml的涉嫌关系 

 程序代码
<!-- self -->
        <many-to-one name="parentCatalog"
            class="com.blur.myHibernate.po.article.Catalog">
            <column name="catalog_id"></column>
        </many-to-one>

        <set name="childCatalogs" cascade="save-update"
            inverse="true" lazy="false">
            <key>
                <column name="catalog_id"></column>
            </key>
            <one-to-many
                class="com.blur.myHibernate.po.article.Catalog" />
        </set>

化解办法:formBean在提交表单的时候,域中数据库在下叁次中照旧保留引起的,struts formBean 暗许的scope为session,手动设置为request,就好了。。。

Hibernate 一对多作者关联难题,javahibernate关联 Hibernate一对多作者关联问题那些很难描述清楚,只可以引用CSDN中本身咨询的帖子了: http://...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:新浦京娱乐场官网java Hibernate 一对多自身关联问

关键词:

最火资讯