Я использую Objectify для хранения элементов в базе данных и хочу обеспечить уникальность в поле «имя».Я начинаю с тривиальной реализации, прежде чем начать беспокоиться о состоянии гонки ...
Вот как я добавляю объект в базу данных:
Objectify ofy = ObjectifyService.begin();
if (ofy.query(Item.class).filter("name", name).count() == 0) {
Item newItem = new Item(name);
ofy.put(newItem);
}
Если я пытаюсь вставитьнесколько раз быстро, иногда я смогу создать три или четыре, прежде чем фильтр найдет существующие объекты и предотвратит сохранение нового.
Это выполняется локально - поэтому не было развернуто в Google AppДвигателя пока нет.
Должен ли я волноваться?Я что-то упускаю из виду?Я явно не включил кэширование в классе Item.
(Средой разработки является «Плагин Google для Eclipse» v1.5.2, Objectify 3.0)