Caused by: org.hibernate.AnnotationException: referencedColumnNames(form_no, form_type) of A referencing B not mapped to a single property
Caused by: org.hibernate.AnnotationException: referencedColumnNames(form_no, form_type) of com.xxx.epo.service.dao.entity.EpoDetail.epoDetails referencing com.xxx.epo.service.dao.entity.EpoHeader not mapped to a single property
at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:320)
at org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass(CollectionBinder.java:1545)
... 58 more
1, Header 实体里没有配置form_no1和form_no1或者正确配置,以及配置在@Embedded的对象中,导致JPA不能正常识别。
@OneToMany(fetch = FetchType.EAGER)
@JoinColumns ({
@JoinColumn(name="form_no",referencedColumnName = "form_no1",insertable = false, updatable = false),
@JoinColumn(name="form_type",referencedColumnName = "form_type1",insertable = false, updatable = false)
})
private List<EpoDetail> epoDetails;
在Header中加入如下配置即可解决。
@Column(name = "form_type1", insertable = false, updatable = false)
Integer formType;
@Column(name = "form_no1", insertable = false, updatable = false)
Integer formNo;
2,其它情况。。。。