MongoRepository 具有不同@Query 的相同方法
MongoRepository same methods with diferent @Query
使用 spring 数据 mongo 存储库 class,我该怎么做?我需要两次相同的方法,但在一次中我需要排除一个字段。
public interface Person extends MongoRepository<Person, String>{
Optional<Person> findById(String id);
@Query(fields="{ 'company': 0 }")
Optional<Person> findById(String id);
}
这行不通,因为我不能两次使用相同的方法,有没有办法做到这一点?
当你想调用方法时,问题就出现了。调用哪个方法是不明确的。
如果您想使用 method overloading
使您的两个方法具有相同的名称,只有当它们具有不同的参数时才有可能。
这里有一个例子:
public interface Person extends MongoRepository<Person, String>{
Optional<Person> findById(String id);
@Query(fields="{ 'company': 0 }")
Optional<Person> findById(String id, Boolean exclude);
}
使用 spring 数据 mongo 存储库 class,我该怎么做?我需要两次相同的方法,但在一次中我需要排除一个字段。
public interface Person extends MongoRepository<Person, String>{
Optional<Person> findById(String id);
@Query(fields="{ 'company': 0 }")
Optional<Person> findById(String id);
}
这行不通,因为我不能两次使用相同的方法,有没有办法做到这一点?
当你想调用方法时,问题就出现了。调用哪个方法是不明确的。
如果您想使用 method overloading
使您的两个方法具有相同的名称,只有当它们具有不同的参数时才有可能。
这里有一个例子:
public interface Person extends MongoRepository<Person, String>{
Optional<Person> findById(String id);
@Query(fields="{ 'company': 0 }")
Optional<Person> findById(String id, Boolean exclude);
}