MyEclipse生成的Hibernate一对一配置问题

来源:互联网 发布:react router js跳转 编辑:程序博客网 时间:2024/05/21 11:10

myeclipse的hibernate反转工具生成的一对一映射配置无法使用,在项目启动时就报错,
错误信息如下:

org.hibernate.AnnotationException: Unknown mappedBy in: db.Produce.qualification, referenced property unknown: db.Qualification.produce    at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:158)    at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1591)    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1366)    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1731)    at db.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:48)

生成的
主表类Produce的关键代码如下:

    @OneToOne(fetch = FetchType.LAZY, mappedBy = "produce")    public Qualification getQualification() {        return this.qualification;    }

外表类Qualification的关键代码如下:

    @OneToOne(fetch = FetchType.LAZY, mappedBy = "qualification")    @JoinColumn(name = "produce_id")    public Produce getProduce() {        return this.produce;    }

解决办法:
将外表类Qualification的配置改为:

    @OneToOne(fetch = FetchType.LAZY)    @JoinColumn(name = "produce_id")    public Produce getProduce() {        return this.produce;    }

即去掉mappedBy参数,切记不能自以为是的将外表类Qualification的配置mappedBy = “qualification”改成mappedBy = “produce”,如此改动,仍然会报错。

0 0
原创粉丝点击