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 :

probleme one to many


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Points : 84
    Points
    84
    Par défaut probleme one to many
    Bonjour,

    Dans ma base de donnée, j’ai 2 tables t_timesheet(id,userid,month,year,date) et t_activity(id,daydate,nbhour,timesheetid,assignementid,activitytypeid).

    fichier de mapping:

    TTimesheet.hbm.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <set name="TActivities" inverse="true">
    	<key column="ID"/>
    	<one-to-many class="TActivity"/>
    </set>
    TActivity.hbm.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <many-to-one
    	name="TimeSheetID"
    	column="TimeSheetID"
    	class="TTimesheet"
    	not-null="false"
    	>
    </many-to-one>
    Je souhaite récupérer un timesheet pour une période et un utilisateur donnée ainsi que la liste des activités associés a ce timesheet. Pour ce faire j’ai fais une méthode comme ca :

    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
    public TimeSheet getTimeSheetUser(User user, DateObject dateObject)
    			throws HibernateException, NotExistingTimeSheetException
    	{
    		Session session = hibernateUtil.openSession();
     
    		String queryString =
    			"from TTimesheet as t where t.UserID = ? and t.Month = ? and t.Year = ?";
    		Query query = session.createQuery(queryString);
    		query.setInteger(0, user.getId());
    		query.setInteger(1, dateObject.getMonth());
    		query.setInteger(2, dateObject.getYear());
    		List ttimesheet = query.list();
     
    		if (ttimesheet == null || ttimesheet.size() == 0)
    			throw new NotExistingTimeSheetException(user.getLogin());
     
    		TimeSheet result = ObjectsUtil.getTimeSheet(ttimesheet);
     
    		return result;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static TimeSheet getTimeSheet(List ttimesheets)
    	{
    		TimeSheet result = new TimeSheet();
    		for (Object o : ttimesheets)
    		{
    			for(TActivity ac : ((TTimesheet)o).getTActivities())
    				System.out.println("heure " + ac.getNbHour() + " date " + ac.getDayDate() + " " + ac.getActivityTypeID().getDetails());
    		}
    		return result;
    	}

    Test : month -> 2 , year -> 2008

    Et voici le resultat:

    heure 7.5 date 2008-02-02 00:00:00.0 Mission

    alors que dans ma base il y a plusieurs activités associé a ce timesheet. Il devrait donc passé plusieurs fois dans le for (TActivity ac : ((TTimesheet)o).getTActivities()) , au lieu de ça il me récupère que la première activité…

    quelqu'un aurait une idée please ?

    merci

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Points : 84
    Points
    84
    Par défaut
    j'ai posé une colle ou ma demande n'est pas assez explicite ?

    [EDIT]
    J'ai trouvé , j'avais mal fait mes fichiers hibernate
    [/EDIT]

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

Discussions similaires

  1. [Hibernate] Relation one to many
    Par BRAUKRIS dans le forum Hibernate
    Réponses: 2
    Dernier message: 23/08/2006, 11h51
  2. [Hibernate] Mapping one-to-many + cle composite
    Par brainstorm dans le forum Hibernate
    Réponses: 2
    Dernier message: 23/06/2006, 10h51
  3. [hibernate] one-to-many et clé etrangère
    Par K-Kaï dans le forum Hibernate
    Réponses: 27
    Dernier message: 18/05/2006, 10h46
  4. [hibernate] relation one-to-many avec plusieurs clés
    Par seb_fou dans le forum Hibernate
    Réponses: 6
    Dernier message: 16/03/2006, 14h47
  5. [EJB2.1 Entity] [CMR] Relation One to Many
    Par hamed dans le forum Java EE
    Réponses: 2
    Dernier message: 31/12/2003, 14h26

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