Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa EclipseLink找不到我的转换器类_Jpa_Eclipselink_Converter - Fatal编程技术网

Jpa EclipseLink找不到我的转换器类

Jpa EclipseLink找不到我的转换器类,jpa,eclipselink,converter,Jpa,Eclipselink,Converter,我有一个JPA@Entity“RecipestepBO”,它使用@Converter: @Entity @Converter( name="UnitConverter", converterClass=com.lemcke.share.recipe.Unit.class ) @Table(name = "recipestep") public class RecipestepBO { ... private Unit rpsunit = null; ... @Column( name="rpsu

我有一个JPA@Entity“RecipestepBO”,它使用@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异常:

线程“main”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 异常描述:从类名转换为类时未找到类:[com.lemcke.share.recipe.Unit]

实体写入persistence.xml文件中。转换器“单元”不是(因为它不是实体)


我做错了什么?

转换器应该是一个类,而不是一个枚举,不确定枚举是否可以工作,或者是否有意义


尝试一个类,如果仍然不走运,请包含完整的异常堆栈跟踪(包括由引起的)。

非常感谢。你是对的。转换器不能是枚举(无论出于何种原因)。