Spring Data Document documentationに基づいて、リポジトリ メソッドのカスタム実装を提供しました。カスタム メソッドの名前は、ドメイン オブジェクトに存在しないプロパティを参照しています:
@Document
public class User {
String username;
}
public interface UserRepositoryCustom {
public User findByNonExistentProperty(String arg);
}
public class UserRepositoryCustomImpl implements UserRepositoryCustom {
@Override
public User findByNonExistentProperty(String arg) {
return /*perform query*/;
}
}
public interface UserRepository
extends CrudRepository<?, ?>, UserRepositoryCustom {
public User findByUsername(String username);
}
ただし、おそらく選択したメソッド名 ( findByNonExistentPropertyName
) が原因で、Spring Data はメソッド名を解析し、そこからクエリを作成しようとします。nonExistentProperty
inが見つからない場合User
、例外がスローされます。
考えられる解決策:
- カスタム メソッドの実装を提供する方法を間違えたのでしょうか?
- このメソッドの名前に基づいてクエリを生成しないように Spring に指示する方法はありますか?
- Spring Data が認識するプレフィックスの使用を避ける必要がありますか?
- 上記のどれでもない。
ありがとうございました!