referencedColumnNames(no,type)of A referencing B not mapped to a single property

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

猜你喜欢

转载自jerval.iteye.com/blog/2390122
今日推荐