Comment cette Requête SQL dans hbm.xml le fichier peut être écrit dans le code source?

Je suis en train d'exécuter une requête SQL en mode veille prolongée. Je suis à l'aide de son la documentation.
En raison de certaines valeurs inconnues je suis en train de faire à l'intérieur du code Source.

Voir ci-dessous de code SQL de la Requête de configuration. Comment ré-écrire dans le code source lui-même!!
J'ai essayé ce

personList = session.createSQLQuery("SELECT person.NAME, person.AGE, person.SEX, address.STREET, address.CITY, address.STATE, address.ZIP FROM person JOIN address WHERE person.ID = address.PERSON_ID").addEntity(Person.class).addEntity(Address.class).list();

Ce que je suis en train de faire avec la requête ci-dessus est, il devrait la carte de la personne.ID & PERSON_ID. Si elle correspond, puis aller chercher les autres colonnes à l'ADRESSE[RUE, VILLE, ÉTAT, code POSTAL] table avec la PERSONNE colonnes de la table[NOM, l'ÂGE, le SEXE].

Dans JDBC les colonnes du jeu de résultats pour la requête ci-dessus ressemble à

NAME, AGE, SEX, STREET, CITY, STATE, ZIP

Mais sa ne marche pas il dit, l'adresse, les colonnes de la requête n'a pas été trouvé. Est-il une erreur de syntaxe dans ma version de la requête!!

Requête de Déclaration dans le fichier de mappage;

<sql-query name="personsWith">
<return alias="person" class="eg.Person"/>
<return-join alias="address" property="person.mailingAddress"/>
SELECT person.NAME AS {person.name},
       person.AGE AS {person.age},
       person.SEX AS {person.sex},
       address.STREET AS {address.street},
       address.CITY AS {address.city},
       address.STATE AS {address.state},
       address.ZIP AS {address.zip}
FROM PERSON person
JOIN ADDRESS address
    ON person.ID = address.PERSON_ID
</sql-query>

Grâce

  • Que voulez-vous vraiment atteindre? Êtes-vous sûr que vous avez besoin de ce genre à l'optimisation de la requête? Une simple requête sur la personne ou l'adresse n'est pas suffisant?
  • En fait, je veux montrer à toutes les personnes avec l'adresse de l'info dans la table d'adresses.
  • Je suis sûr que vous pourriez le faire dans un moyen trivial. Voir ma réponse.
InformationsquelleAutor IBM'er | 2010-09-24