2013-05-09 61 views
0

我有JPA @Entity「RecipestepBO」它採用了@Converter:的EclipseLink沒有找到我的Converter類

@Entity 
@Converter(name="UnitConverter", converterClass=com.lemcke.share.recipe.Unit.class) 
@Table(name = "recipestep") 
public class RecipestepBO { 
... 
private Unit rpsunit = null; 
... 
@Column(name="rpsunit") 
@Convert("UnitConverter") 
public Unit getRpsunit() { return rpsunit; } 
... 
} 

和轉換器類(這實際上是一個枚舉)在同一封裝:

package com.lemcke.share.recipe; 

public enum Unit implements Converter { 
Liter ("l") 
.... 
all overloaded methods from the Converter 
.... 
} 

開始在下面的EclipseLink異常應用效果:

異常在線程 「主」 javax.persistence.PersistenceException:異常[的EclipseLink-28019] (Eclipse持久性服務 - 2.4.1.v20121003-ad44345):org.eclipse.persistence.exceptions.EntityManagerSetupException 異常說明:部署PersistenceUnit [testPU]失敗。關閉此PersistenceUnit的所有工廠。 內部異常:異常[EclipseLink-7198](Eclipse持久性服務 - 2.4.1.v20121003-ad44345):org.eclipse.persistence.exceptions.ValidationException 異常說明:Class:[com.lemcke.share.recipe.Unit]在從類名轉換爲類時未找到。

該實體寫入persistence.xml文件中。轉換器'Unit'不是(因爲它不是一個實體)。

我在做什麼錯?

回答

1

轉換器應該是一個類,而不是一個枚舉,不知道枚舉會工作,或有意義。

嘗試一個類,如果仍然不幸,請包含完整的異常堆棧跟蹤(包括引起的)。

+0

非常感謝。你是對的。一個轉換器不能是一個枚舉(無論什麼原因)。 – 2013-05-09 14:27:24