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

JPA Java Discussion :

recherche selon un objet


Sujet :

JPA Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 49
    Points : 89
    Points
    89
    Par défaut recherche selon un objet
    Bonjour,

    je suis actuellement sur un petit projet en java SE et JPA(toplink) pour me former sur le sujet.
    J'arrive à faire des requetes simples si je gère moi-même les relations entre mes tables, en utilisant les id et tout ça, mais je veux essayer d'utiliser les relations qu'offre JPA. Et là, ça coince un peu.

    Voilà ma situation:

    Disons que j'ai 2 table, table A et table B qui a un lien many-to-one(nommons le FA) vers A.

    dans mon code, je récupère à un moment un objet de type A et je le garde en mémoire. Ensuite, je fais une recherche dans la table B de tous les objets qui ont le champ FA égal à l'objet A en mémoire.

    Mon problème est comment faire cette recherche conditionnelle?

    Subsidiairement, si je récupère l'objet A, faut-il garder la connexion ouverte pendant tout le temps que j'utilise cet objet? Je veux dire par là que normalement, j'ouvre et ferme ma connexion après chaque transaction afin d'optimiser les ressources allouées. Mais si je ferme ma connexion, mon objet A devient lui aussi déconnecté et il râle à chaque tentative d'utilisation par la suite.
    Y a-t'il un moyen de resynchroniser un objet lors d'une reconnexion?


    merci de vos réponses

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 49
    Points : 89
    Points
    89
    Par défaut
    Dans le cas ou ma question serait trop particulière, je vais la reformuler differement:

    dans JPA, est-ce obligé de passer par les champs id pour filtrer des recherches sur des tables jointes, ou peut-on utiliser directement des objets comme condition de filtre dans les requetes?

    Selon la manière dont j'imagine JPA, on ne devrait plus avoir de notion de champ id pour referencer un objet. Voila pourquoi je pose la question. et vu que je ne trouve aucune réponse concrete à ma question, je me suis permis de la poser ici.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Non tu peux comparé tes résultats avec equals mais il me semble qu'avec les outils de nos jours cette méthode est généré automatiquement

    ca te permet donc de comparer les résultats non pas seulement sur une clef qui pourrait n'être qu un élément d'une clef composite mais également sur ses valeurs.

  4. #4
    Membre actif Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Points : 241
    Points
    241
    Par défaut
    Dans une NamedQuery tu peux passer une Entity comme parametre. Cela s'occupera automatiquement de faire le "join" sur l'id (composite si nécessaire).
    Cela n'a pas de rapport avec Object.equals(). Si tu veux par contre surcharger cette méthode, soit bien sûr de savoir ce que tu fais (piste: une @Id générée automatiquement, n'est pas là lors de la création de l'objet et "apparait" suite à la persistence de la-dite instance).
    Alex

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 49
    Points : 89
    Points
    89
    Par défaut
    merci de vos réponses(et désolé du retard de la mienne")

    En fait, je devais passer par une jointure de tables.
    Et j'ai trouvé un document extrêmement instructif qui traite de bien des aspects techniques du JPA. C'est sous la forme d'un polycopié d'un cours, que j'ai trouvé par hasard sur le site d'une école:
    http://deptinfo.unice.fr/~grin/mesco...ports/jpa6.pdf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche d'un objet 'window' par son nom
    Par herve91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/02/2007, 16h54
  2. [débutant] un tableau de dimension variable selon l'objet qui le contient
    Par Epistocles dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/01/2007, 18h07
  3. Réponses: 9
    Dernier message: 22/07/2006, 22h51
  4. Recherche selon liste deroulante
    Par martonpylon12 dans le forum IHM
    Réponses: 6
    Dernier message: 21/12/2005, 20h00
  5. Réponses: 5
    Dernier message: 13/11/2005, 19h10

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