Каково различие между Ref и Key в Google Datastore?

Я начал использовать Objectify что является книжным магазином, чтобы работать удобнее с Google Datastore на Google App Engine но у меня есть сомнение и дело в том, что я не знаю, каково различие между использованием Ref и Key в определении свойств моей организации.

Например:

@Entity
public class Car {

    @Id
    Long id;

    Key<User> driver;
}

или

@Entity
public class Car {

    @Id
    Long id;

    Ref<User> driver;
}

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

Кто-то знает, каково фундаментальное различие?

1
задан 27.01.2016, 18:42
2 ответа

Единственное различие между Key <> и Ref <>, дело что Ref <> это контейнер, что кроме Key <> он содержит ссылку на реальную организацию. Он не поддерживает реальные ссылки, стоимость придет из организации, которая была загружена заблаговременно в кэш-памяти сеанса.

С Ref и Load, возможно, что ты имеешь меньшее число вызовов по отношению к базе данных; что зависит от твоего профиля использования и формы Ваших данных.

1
ответ дан 24.11.2019, 14:57

ref - wrapper, который включает класс key и делает призванный загружать соответствующую организацию, уже будьте закоулка или читая базу данных.

В mayorГ - в случаев состоит cГіmodo в том, чтобы использовать больше Ref

AquГ - и aquГ - есть пара очень подробно описанные объяснения Ваших различий и поведение Ref

0
ответ дан 24.11.2019, 14:57