问题应该出现在‘性别’的下拉框,name="gender.id"有问题,另外cascade有fresh方式

解决方案 »

  1.   

    非常感谢。原来要更新什么是由name指定的,把页面的name="gender.id"改成 name="gender.itemId"后确实就更新的是itemId字段了,问题2解决了。但问题1还是没有解决,把关联改成这样:
    @ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = { CascadeType.REFRESH })
    执行后还是会自动将tb_dict中的item_id改掉。不知道是哪里的配置还有问题?
      

  2.   

    加到100分,
    建立ManyToOne关联后如何实现不要级联更新?望不吝赐教配置的CascadeType.REFRESH不起作用,甚至试过将cascade设为CascadeType.REMOVE,修改的时候还是会去修改Tb_dict。设为REMOVE不是只有删除的时候才会级联删除吗?这里设置的CascadeType不起作用,不知道是什么原因?
    @ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = { CascadeType.REMOVE })
      

  3.   

    不知道各位朋友有没有碰到过annotaion方式建立视图对象,然后视图在和其他表进行一对多或者多对一关系,有请帮忙下哦,唉,被这个烦死了,现在还在找,可是搜索下关于这个的很少,都是基于xml的。
      

  4.   

    在一的一方在做一个onetomany mapped by 你多的一方。
    然后再你不想要操作更新哪里。进行一个注解@Column( name = '???',insertable = false, updatable = false)
    就应该没问题了。。
      

  5.   

    @OneToMany(mappedBy = "")
    一般都做双向关联吧。很少做manytoone然后one那边就不管了。。
      

  6.   

    我觉得最好别用那些关联映射标签, many2one的话, 在多的一端加入一个外键字段就可以了 ,然后就是需要多写点东西,但是代码也很容易看明白,很清晰
      

  7.   

    to cn7048391:我的理解,ManyToOne和OneToMany是可以分别使用的,并不是要用ManyToOne就必须配置相应的OneToMany。
    比如本例中的"性别"字段,若有个学校系统在5张表中分别维护了“学生、老师、领导、校工、保安”的信息,每张表都有“性别”信息,不可能要求必须在Gender类中配5个OneToMany吧
      

  8.   

    to scholar_2008: 
    FetchType是指加载关联对象的加载方式,是同时加载还是懒加载,这跟我遇到的问题应该关系不大
      

  9.   

    zhangyong369,你遇到的同样问题解决掉了没有啊,解决了顺便拉我一把啊
      

  10.   

    [<set name="projects" table="project" cascade="all" inverse="true" lazy="false">
    <key column="tid"></key>
    <one-to-many class="com.hebiace.graduation.vo.Project" />
    </set>
    主要是inverse="true"