您的位置:首页 > 移动开发

nested exception is org.hibernate.AnnotationException: Unknown mappedBy in

2017-09-21 23:13 627 查看
使用注解的方式进行hibernate逆向工程出现的Bug

设有表A与表B是一对一的关系(其中外键存在于表B中指向表A)

逆向工程生成的模式是:

表 A(实体类) :

...

@OneToOne(fetch = FetchType.LAZY, mappedBy = "a")

...

表 B(实体类):

....

@OneToOne(fetch = FetchType.LAZY, mappedBy = "b")

....

而实际上mappedBy是使用在OneToOne, OneToMany, ManyToMany中没有外键的一方

而存在外键的一方应该使用

@OneToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "a")

so正确应该是 :

表A:

...

@OneToOne(fetch = FetchType.LAZY, mappedBy = "a")

...

表B:

...

@OneToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "b_a")

...

结论 : 逆向工程也可能出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐