1

次のコードがあります

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 のバグですか?

4

1 に答える 1

0

DataNucleus には、これに関するバグがあります。バグ レポートhttp://datanucleus.org/servlet/jira/browse/NUCACCESS-117に記入しました。そこでフォローアップして、どのリリースが含まれるかを確認してください。

于 2013-09-18T09:40:51.703 に答える