有一张表是自身外键关联,比如表 A: id,name ,parentid.   parentid是外键,关联的是自身的ID。请问这种表结构的Model类及Hibernate 映射文件该如何去写?这种表的第一条数据又该如何去插入呢?

解决方案 »

  1.   

    你用hibernate的逆向工程,用表去生成这些文件就行了,生成的东西写的很好!你问的问题我也好久没弄SSH了,我现在没法给你演示了!
      

  2.   

    比如说你的类叫A.java
    你在类内部写private Set as=new HashSet(0);生成set,get方法
    在A.hbm.xml文件里面配置如下:
         <set name="as" cascade="all" lazy="false" inverse="false">
            <key column="parentId"></key>
            <one-to-many class="A.java的路径"/>
        </set>
      

  3.   

    逆向工程要table mapping.xml model三者有其二,现在只有table怎么逆向?
      

  4.   

    A.java和自身是一对多的关系
    上面的是站在一的一方角度来配置的,
    这主要看你的操作对象是那一方,如果是多的一方的话建议LZ站在多的一方的角度来配置
      

  5.   

    不好意思,我想要自身多对一的关联,parentID只有一个,不是SET
      

  6.   

    如果站在多的一方的角度配置的话
    你在类内部写private A a;生成对应的a的set,get方法
    在A.hbm.xml文件里面配置如下:
     <many-to-one name="a" class="vo.A" lazy="false" insert="false" update="false">
       <column name="id"></column>
     </many-to-one>-->
      

  7.   

    嗯,应该可以。这里有比较详细的配置http://tech.ddvip.com/2008-12/122855220898089.html。不过有一个问题,就是在类A中写private A
    应该会报错,回现出堆栈溢出,你有兴趣了可以 试试。