Столбец автоинкремента в JDO, GAE - PullRequest
1 голос
/ 01 января 2011

У меня есть класс данных с некоторыми полями, одним из которых является URL, который я считаю PK, если я добавляю новый элемент (выполняю новую синхронизацию) и сохраняю его, он должен перезаписать элемент в базе данных, если это тот же URL , Но мне также нужен «нормальный» длинный идентификатор, который увеличивается для каждого объекта в базе данных, и для этого я всегда получаю нулевое значение, если я не помечаю его как PK, как можно получить это увеличение, но не иметь столбец в качестве моего PK?

@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)
private Long _id;
@Persistent
private String _title;
@PrimaryKey
@Persistent
private String _url;

/ Viktor

1 Ответ

3 голосов
/ 01 января 2011

Это работает:

@PrimaryKey
private String _url;

@Persistent(valueStrategy = IdGeneratorStrategy.SEQUENCE)
private Long _id;

Заполните _url своим ключом и оставьте _id неустановленным при сохранении вашего объекта._id должен быть заполнен автоматически, хотя я не уверен, будет ли это последовательный идентификатор или нет.

Источник информации: официальная вики Google AppEngine .

...