MongoDB с данными Spring - дублированный запрос от драйвера

У меня повторяющийся запрос при выполнении простого запроса. Файлы:

SomeClass.java:

@Document(collection = "someCollection")
public class SomeClass {

    private String _id;
    private String someField;

    //...
}

SomeClassRepository.java:

@Repository
public interface SomeClassRepository extends MongoRepository<SomeClass, String> {
}

Service.java:

@Autowired
private SomeClassRepository someClassRepository;

public SomeClass find(String id){
    return someClassRepository.findOne(id);
}

application.properties:

logging.level.org.springframework.data.mongodb.core.MongoTemplate=DEBUG

Журнальный файл:

14:14:46.514 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} fields: null for class: class com.somepackage.SomeClass in collection: someCollection
14:14:46.534 [qtp1658534033-19] DEBUG o.s.data.mongodb.core.MongoTemplate - findOne using query: { "_id" : "40c23743-afdb-45ca-9231-c467f8e8b320"} in db.collection: someDatabase.someCollection

Я также пытался:

1) использовать аннотацию @Id с полем с именем "someId" 2) использовать аннотацию @Id с полем с именем "id" 3) использовать поле с именем "id" (без аннотации @Id)

К сожалению, у меня всегда есть два запроса к базе данных.

Кто-нибудь знает, как выполнить один запрос?

Спасибо!

1 ответ

Решение

Это единственный запрос, который отправляется в базу данных. Ваши сообщения журнала приходят из двух разных мест.

Первое место: doFindOne метод - link; Второе место: FindOneCallback учебный класс - link

Вы также можете подтвердить журналы, просматривая журналы БД. Больше информации here

Другие вопросы по тегам