Lir

Hibernate несколько Scalar

Lir
Dec 29th, 2011
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Scalar штука описывающая какие поля будут возвращены, ниже пример и как получить несколько Scalar
  2.  
  3. public String getXMLTags() throws SQLException, NoSuchMethodException {
  4.     Session session = null;
  5.     List tags = null;
  6.     try {
  7.         session = HibernateUtil.getSessionFactory().getCurrentSession();
  8.         session.beginTransaction();
  9.         tags = session.createSQLQuery("select count(aa.id_tag) as size, tags.name, tags.id " +
  10.                 "from (select tagsandbook.id_tag " +
  11.                 "from usersandbooks, tagsandbook " +
  12.                 "where tagsandbook.id_book = usersandbooks.id_book) as aa, tags " +
  13.                 "where  tags.id = aa.id_tag " +
  14.                 "group by aa.id_tag").addScalar("name").addScalar("size").addScalar("id").list();
  15.             session.getTransaction().commit();
  16.         } finally {
  17.             if (session != null && session.isOpen())
  18.                 session.close();
  19.         }
  20.  
  21.         Iterator it = tags.iterator();
  22.         String resultString = "<tags>";
  23.         while(it.hasNext()){
  24.             Object[] row = (Object[])  it.next();
  25.             resultString += "<tag>";
  26.             resultString += "<name>" + row[0] + "</name>";
  27.             resultString += "<size>" + row[1] + "</size>";
  28.             resultString += "<id>" + row[2] + "</id>";
  29.             resultString += "<meuPeso>6</meuPeso>";
  30.             resultString += "</tag>";
  31.         }
  32.         resultString+="</tags>";
  33.  
  34.         return resultString;
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment