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

来源:互联网 发布:成都人工智能公司 编辑:程序博客网 时间:2024/06/16 18:21

使用注解的方式进行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")

...

结论 : 逆向工程也可能出错

阅读全文
0 0
原创粉丝点击