次のコードがあります
import javax.persistence.AttributeConverter;
public class MyBaseConverter implements AttributeConverter<MyType, String> {
// implement the required methods
...
}
public class MyConverter extends MyBaseConverter {
// no methods in this class
}
なぜ@Convert(converter = MyBaseConverter.class)
機能するのに@Convert(converter = MyConverter.class)
機能しないのですか?
2 番目のケースでは、エンハンサーの実行中にエラーが発生します。私はいくつかのデバッグを行いましたが、クラスJPAAnnotationReader
行 1966 (datanucleus-api-jpa-3.3.2.jar) のようです
if (typeMgr.getTypeConverterForName(converterCls.getName()) == null)
converterCls
は null で、2 番目のケースでは NPE をスローしますが、最初のケースではスローしません。
DataNucleus のバグですか?