Alan's Blog

导航

出现should be mapped with insert="false" update="false"的解决方法

一个问题的出现,往往是由于某些原因导致的,从源头找起。这个问题主要是由于建立多对一关系映射的时候出现两个重复的定义。

比如hibernate中:

<property name="schedule_id"/>

<many-to-one name="schedule" column="schedule_id"/>

如果真的能够在数据库生成的话,那么数据库将出现两个schedule_id的错误,那肯定个是不行了

解决方式:去掉其中一个,合理的做法,去掉上面那个定义

JPA形式:

private String scheduleId;

@Column(length=32)
    public String getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(String scheduleId) {
        this.scheduleId = scheduleId;
    }

private MediaSchedule mediaSchedule;

@ManyToOne
    @JoinColumn(name = "scheduleId")
    public MediaSchedule getMediaSchedule() {
        return mediaSchedule;
    }

    public void setMediaSchedule(MediaSchedule mediaSchedule) {
        this.mediaSchedule = mediaSchedule;
    }

这样也玩玩,数据库将出现两个相同的字段,去掉其中一个,或者直接将name="scheduleId"改成其他的吧(name="scheId")

posted on 2012-07-05 11:55  Alan's Blog  阅读(72815)  评论(3编辑  收藏  举报