CrudRepository
にQuerydsl extension(QueryDslPredicateExecutor
)を使用しています。カスタムQuerydsl EntityPathResolverをSpringデータMongoRepositoryFactoryに登録するには?
テストのカバレッジ測定値から生成されたクラスを確実に除外するには、それぞれのドメインクラスのサブパッケージ(注釈プロセッサオプション-Aquerydsl.packageSuffix=.querydsl
)に生成されます。
ああ、これはアプリケーションでClassNotFoundException
が起動原因:
java.lang.IllegalArgumentException: Did not find a query class org.example.QDomain for domain class org.example.Domain!
at org.springframework.data.querydsl.SimpleEntityPathResolver.createPath(SimpleEntityPathResolver.java:63)
at org.springframework.data.mongodb.repository.support.QueryDslMongoRepository.<init>(QueryDslMongoRepository.java:85)
at org.springframework.data.mongodb.repository.support.QueryDslMongoRepository.<init>(QueryDslMongoRepository.java:67)
…
Caused by: java.lang.ClassNotFoundException: org.example.QDomain
…
私はすでにたぶん私は私自身のドメインクラスに挿入Q
にクラスのマッピングをプラグインすることが可能になるEntityPathResolver
interfaceに位置しています.querydsl
パッケージの接尾辞ですが、私はSpringデータのMongoRepositoryFactory
を構成して自分自身を選択する方法を見つけられませんでしたEntityPathResolver
。
これは可能ですか?
私は{MongoRepositoryFactory.getTargetRepository}}を無効にしようとしましたが、{{getEntityInformation}}はプライベートなので{{getTargetRepository}}のコピーから再利用できません。特に{{CustomEntityPathResolver}}は拡張不可能な{{SimpleEntityPathResolver}}とほとんど同じですので、私の好みに合わせてコピーして貼り付けを行うのは大変です。 –