1.多表关联配置了相关many-to-many
并且在pojo里写了Set
为什么每次添加中间表里都没有数据?2.是不是添加的控制器如果用spring的simpleFormController继承的话
关联的时候一些外键没法格式化?
因此造成中间表里没有数据?3.如果中间表里还需要附加其他字段
该怎么办?比如:
student----sid,sname
teacher----tid,tname
course-----sid,tid

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【meiguzhu】截止到2008-07-08 02:48:40的历史汇总数据(不包括此帖):
    发帖的总数量:12                       发帖的总分数:290                      
    结贴的总数量:2                        结贴的总分数:30                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:10                       未结的总分数:260                      
    结贴的百分比:16.67 %               结分的百分比:10.34 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
      

  2.   

    看看深入浅出hibernate的,你说的问题里面都有!
      

  3.   

    1,2 看一下配置文件的inverse是否都设置成了true,多对多的两端都使用inverse=true,会导致连接表根本没有记录,因为他们双分都不维护关系表,所以最好一端设置成false来维护关系表,一端设置成true(默认值似乎是true,所以要手工修改一下)3 可以用组合方式来弄,也可以自己单独写一个映射类,如果用组合方式可以这样新建一个类,比如叫:StudentTeacher类,里面有属性Student student,Teacher teacher,String flag......
    作为组合嵌入到student和teacher的配置文件中,student这么写
    <set
          name="teachers"
          table="Teachers"
          lazy="true"
          inverse="true"
          cascade="all"
          sort="unsorted">      <key column="sid"/>      <composite-element class="xxx.StudentCourse">
                <property name="flag" length="1" type="string"/>
        ......<!--可以多加其他字段-->
                <many-to-one name="student" class="xxx.Student" column="sid"/>
          </composite-element>
    </set>
    Teacher的配置文件类似,只不过注意下和Student的inverse的控制
      

  4.   

    深入浅出hibernate嘿嘿清华版的么?
      

  5.   


    这是hibernate的优势,你不用的话,还不如用jdbc