JPAリポジトリを使用することはできません。だから私はプロジェクトのために何か類似のものを構築しようとしています。 は私が一般的な抽象クラスを拡張するSpring Beanの作成方法
@Repository
public class MyEntityRepo extends CustomRepository<MyEntity, Integer> {
}
そして
public abstract class CustomRepository<T, ID> {
private static final Logger LOG =LoggerFactory.getLogger(CustomRepository.class);
protected SessionFactory sessionFactory;
private T _clazz;
private String className;
public CustomRepository() {
String className = _clazz.getClass().getName();
if (className.contains(".")) {
className = className.substring(className.lastIndexOf('.') + 1);
}
LOG.info("classname:{}", className);
}
}
クラスMyEntityRepoを持っている。しかし、私はプロジェクトを開始していたときに、Springフレームワークは_clazzフィールドがヌルであるので、それはNullPointerExceptionが与えているとして、Beanを作成することができません。誰かがこれを達成する方法を説明してもらえますか?
あなたはどこにもで設定していないながら_clazzはnullにすることはできませんどのように? –
この '_clazz'フィールドは必要ないようです。 'String className = this.getClass()。getName();'を試してください。 – sp00m
@ sp00m私は変数名を書くのが得意ではないと思います。 classNameは実際にエンティティクラスの名前を示しています。 –