У меня есть JPA @Entity «RecipestepBO», который использует @Converter:EclipseLink не находит мой конвертер класс
@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 Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.EntityManagerSetupException Исключение Описание: Не удалось выполнить установку PersistenceUnit [testPU]. Закройте все заводы для этого PersistenceUnit. Внутреннее исключение: исключение [EclipseLink-7198] (Eclipse Persistence Services - 2.4.1.v20121003-ad44345): org.eclipse.persistence.exceptions.ValidationException Исключение Описание: Класс: [com.lemcke.share.recipe.Unit] не был найден при преобразовании из классов в классы.
Сущность написана в файле persistence.xml. Преобразователь 'Unit' не является (потому что его не является сущностью).
Что я делаю неправильно?
Большое спасибо. Ты прав. Преобразователь НЕ МОЖЕТ быть перечислением (по какой-либо причине). –