• # Comme Hibernate ne savait pas que c'était impossible, ils l'ont fait.

    Posté par (site web personnel) . En réponse au journal Les types fantômes. Évalué à 8.

    Les ORMs courrament utilisés implique qu'une ligne de la base soit équivalent à une instance, mais que se passe t-il lorsque qu'une fonction traite divers champs de divers table, ou encore qu'on ait besoin d'une requête un peu complexe pour récupérer certaines valeurs non associées à des objets ?

    public static class DTO {
     public Long foo;
     public String bar;
    }
    public List<DTO> list() {
     return HibernateUtil.getSession()
     .createSQLQuery("select a.foo as foo, b.bar as bar from <select achement compliqué>")
     .addScalar("foo")
     .addScalar("bar")
     .setResultTransformer(Transformers.aliasToBean(DTO.class))
     .list();
    }
    
    

    (oui ça map sur un objet m'enfin c'est de l'OO hein… je suppose que tu voulais dire qu'Hibernate ne map que sur des entités)