2010-10-26 107 views
0

je la classe de modèle de données suivantes définies:JDO ne pas récupérer/persistant une collection

@PersistenceCapable 
public class TestSerializableModelObj { 
    @Persistent(serialized="true", defaultFetchGroup="true") 
    private MyPOJO myField; 

    @Persistent(serialized="true", defaultFetchGroup="true") 
    private Collection<MyPOJO> myCollection; 

    // getter/setters 
} 

MyPOJO est juste une simple classe qui implémente Serializable.

Quand je persiste ceci via DataNucleus/JDO et le récupère je peux lire myField très bien, mais myCollection est nul (bien que je l'ai défini pour être un vecteur de deux objets de MyPOJO avant de le persister).

Répondre

0

Bien que je ne l'ai pas mentionné dans la question, j'utilisais DB4O comme moteur de base de données. Je l'ai remplacé par NeoDatis et par magie tous mes problèmes ont disparu, tous mes tests ont fonctionné parfaitement.

Je ne sais pas pourquoi DB4O ne m'aime pas, et à ce stade, je m'en fous, NeoDatis "Just Works", et DB4O ne me plaît pas.

En fait, j'ai passé 3 jours à me battre avec tous les problèmes imaginables possibles avec DB4O et en 5 minutes j'ai eu chaque cas de test que j'avais créé pendant ces 3 jours de travail sous NeoDatis.