2013-03-07 26 views
1

嘗試將應用程序部署到Glassfish時收到以下錯誤。顯然,我的關係有些不正確。嘗試部署時從GlassFish服務器EclipseLink ValidationException - 非實體[class long]作爲關係屬性[field providerId]中的目標實體

錯誤:

在我的「治療」類文件
 ValidationException Exception Description: [class edu...clinic.Treatment] 
uses a non-entity [class long] as target entity in the relationship attribute 
[field providerId] 

多到一的關係:在

@Entiity 
... 
@ManyToOne 
    @JoinColumn(name = "provider_fk", referencedColumnName = "npi") 
    private long providerId; 

一多關係我'提供商的檔案文件:

@Entity 
    ... 
@Id 
    @Column(name = "NPI") 
    private long npi; 
... 
    @OneToMany(mappedBy = "providerId", targetEntity=Treatment.class) 
     @OrderBy 
     private List<Treatment> treatments; 

我相信我的註釋是正確的,但有些不對。我很感激任何有關如何糾正這一問題的建議。

回答

1

嘗試以下, 治療實體變化

private long providerId; 

private Provider provider; 
在提供實體變化

@OneToMany(mappedBy = "providerId", targetEntity=Treatment.class) 

@OneToMany(mappedBy = "provider", targetEntity=Treatment.class) 
+0

謝謝......這似乎解決了這個問題,但現在我面臨着來自Glassfish的大量其他錯誤......回到繪圖板...... – PSUlion01 2013-03-07 06:14:19

相關問題