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

Hibernate Java Discussion :

CollectionOfElements - collection is not associated with any session


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 25
    Points : 23
    Points
    23
    Par défaut CollectionOfElements - collection is not associated with any session
    Bonjour,

    J'implémente une application qui vient se greffer sur une DB existante.

    J'ai une entité (mappée sur "table_A")qui doit contenir une map de champs venant d'une autre table ("table_B") (qui elle n'est pas mappée @entity).

    Pour faire le lien entre ces 2 tables, j'ai dans table_A:
    - un champ "code" (qui n'est pas l'id de l'objet mais qui est tout de même unique)
    - un champ "sanction"

    de l'autre côté (table_B):

    - le même code (qui n'est pas l'id dans la table)
    - la même sanction

    - le code langue
    - le libellé

    Un entregistrement dans table_B est unique sur:

    code, sanction, langue

    Ce que je souhaite avoir, c'est:

    Dans mon entité "A" (mappée sur table_A),
    une map<langue, libellé> dont les valeurs proviennent de table_B et qui correspondent au code et à la sanction de mon objet A.

    Voici mon mapping dans man classe :
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    @Entity
    @Table(name = "table_A")
    public class A implements Serializable
    {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name = "ID")
        private Long id;
     
        @Column(name = "codeA")
        private String codeA;
     
        @Column(name = "sanctionA")
        private String sanctionA;
     
    @CollectionOfElements(fetch = FetchType.EAGER)
        @JoinTable(name = "table_B", joinColumns =
        {
            @JoinColumn(name = "code", referencedColumnName="codeA"),
            @JoinColumn(name = "sanction", referencedColumnName="sanctionA")
        })
        @MapKey(columns =
        {
            @Column(name = "langue")
        })
        @Column(name = "libelle")
        private Map<String, String> mapTableBLabels;
    ...
    }
    Malheureusement, quand je tente de récupérer un object A de la DB, j'ai ceci:


    collection is not associated with any session; nested exception is org.hibernate.HibernateException: collection is not associated with any session
    Une idée ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 79
    Points : 72
    Points
    72
    Par défaut
    il faut que lors de l'appel tu sois dans une transaction hibernate je crois

    autrement dit tu peux pas appeller directement un objet mappé dans une jsp comme ça
    car rendu à ce point aucune session n'est attachée à l'objet en question

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2010, 14h16
  2. different object with the same identifier was already associated with the session
    Par lextaz33 dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 02/03/2009, 14h36
  3. Réponses: 0
    Dernier message: 31/07/2007, 09h43
  4. Réponses: 1
    Dernier message: 11/05/2006, 22h05
  5. [MSDE] Not associated with a trusted connection...
    Par tiboleo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/06/2004, 15h08

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