Je pense que vous aurez besoin de poster un échantillon de code avant de pouvoir vous dire ce que vous faites mal. J'ai une Entité avec un type d'ID de Long, et l'identifiant est rempli après que j'appelle makePersistent()
. Voici ce que le code ressemble à:
GameEntity game = new GameEntity();
log.warning("before makePersistent id is " + game.getId());
pm.makePersistent(game);
log.warning("after makePersistent id is " + game.getId());
Voici un extrait de la classe GameEntity:
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class GameEntity {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
Et la sortie montre ce que vous attendez:
WARNING 6428 - before makePersistent id is null
WARNING 6444 - after makePersistent id is 6
MISE À JOUR: Il m'est apparu tardivement que vous pourriez vouloir un objet clé réel. Vous pouvez créer vous-même si vous avez l'ID:
public Key getKey() {
return KeyFactory.createKey(GameEntity.class.getSimpleName(), id);
}
Eh bien maintenant je travaille dans JDO. –