IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Persistance des données Java Discussion :

Où disposer les entités dans un projet Entreprise ?


Sujet :

Persistance des données Java

  1. #1
    Membre régulier Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Points : 79
    Points
    79
    Par défaut Où disposer les entités dans un projet Entreprise ?
    Je fais quelques tests avec un projet Entreprise sous netbeans 5.5.1, et me vient une question d'organisation : où placer dans mon projet les classes "entités" (utilisées par JPA et annotées par @Entity) ? Dans un EJB ? dans le projet web .war ?

    En fait, j'ai fait un test où mes entités sont déclarées et chargées à partir d'un EJB Stateful, mais je constate que l'objet retourné par la méthode de l'EJB est une "copie", et non pas une référence directe à l'objet contenu dans l'EJB. Il doit y avoir une histoire de "sérialisation" et "désérialisation", d'invocation à distance.... Quand j'essaye de sauvegarder en retour mon objet modifé par l'application web, il ne le reconnait plus, et m'indique qu'il ne peut sauvegarder un objet détaché.

    Néophyte, je me demande comment gérer ça concrètement, pour que la partie données soit séparée de la partie présentation.

  2. #2
    Membre régulier Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Points : 79
    Points
    79
    Par défaut
    J'ai également essayé avec un objet qui implémente une interface @Local au lieu de @Remote, mais c'est la même chose : l'EJB ne reconnait plus l'instance qu'il a créé.

  3. #3
    Membre habitué Avatar de xv-mnt
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 142
    Points : 178
    Points
    178
    Par défaut
    C'est normal qu'il ne le reconnaisse plus car l'entité n'est plus liée à une transaction, d'où l'exception "...detached object...".
    Il faut donc que tu réattaches l'entité à la transaction courante avec la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void EntityManager.refresh(Object entity)
    Si l'objet a été modifié en dehors de la transaction et que tu veuilles appliquer ces modifications en base, il faut appeler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object EntityManager.merge(Object entity)
    où l'objet retourné est une copie de l'entité liée à la transaction courante et modifiée.
    Tout le monde savait que c'était impossible à faire. Puis un jour quelqu'un est arrivé qui ne le savait pas, et il le fit (Winston Churchill)

  4. #4
    Membre régulier Avatar de balmeyer
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 84
    Points : 79
    Points
    79
    Par défaut
    Merci pour ta réponse ! Je teste ça prochainement...

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/05/2013, 18h40
  2. RCP: Comment disposer les vues dans une perspective
    Par idefixx dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 02/02/2012, 17h30
  3. import d ' entites dans un projet jsf
    Par j2ee60 dans le forum JSF
    Réponses: 2
    Dernier message: 20/10/2010, 10h10
  4. pourquoi ne pas inclure tout les cpp dans un projet
    Par ReaderDigest dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/01/2008, 17h48
  5. inclure les informations dans le projet avec CB
    Par aziz jim dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 23/10/2006, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo