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,其它情况。。。。