Hibernate requête select avec différents clause where

Cela peut être assez simple, mais j'ai passé des heures sur Google mais impossible de trouver une réponse pertinente.

Je suis en train de mettre au-dessous de la logique en hibernation, mais je ne suis pas en mesure de comprendre comment.
C'est ma configuration: base de données Mysql avec 2 tables T1(ID,C1,C2) et T2(colonne1,colonne2,colonne3).
C'est ce que je veux mettre en œuvre

    results = select ID, from T1 //This will result in multiple rows.

    for(eachRow in results )
    {
    select column1,column2,column3 from T2 where ID=eachRow.ID
    //Do some computation like
    //Assign value of table "T1" column "C1" to table "T2" column "column1"
    column1 = eachRow.C1

    }

Pour l'instant, je pense à une logique de la lecture de l'ensemble de la table à l'aide de la veille prolongée "de la" clause dans une Liste et d'une itération à travers elle. Cependant, cela peut provoquer un dépassement de mémoire exception. Pourriez-vous s'il vous plaît suggérer comment le HQL doit être?

C'est ce que j'ai fait

Session session = HibernateSession.getSessionFactory().openSession();
        Transaction aTableTx = null;
        try {
            aTableTx = session.beginTransaction();

            _allRows = session.createQuery("from T1").list();

            for (Iterator<T1> iterator = _allRows.iterator(); iterator.hasNext();)
            {
                T1 aRow = iterator.next();
                //Here I am planning to run a similar to
                            //_allRows = session.createQuery("from T2").list();
                            //Store the result and iterate through the list, but 
                            //it is very inefficient.
            }

            aTableTx.commit();
  • Tout d'abord, HQL ne fonctionne pas sur les tables, mais sur les entités. Montrez-nous vos entités plutôt que sur les tables.
  • Je suis d'accord,j'ai mappé les tables de la classe à l'aide d'annotations. Alors maintenant, j'ai 2 classes de T1 et de T2 comment puis-je mettre la requête mysql en HQL.
  • La requête HQL serait presque identique à la requête SQL. Avez-vous lu la documentation sur les requêtes HQL? Qu'avez-vous essayé?
  • J'ai édité et ajouté mon code.
InformationsquelleAutor girish | 2012-02-20