使用HQL查询从表中选择记录.......... @

时间:2013-07-12 08:35:20

标签: hql

如何使用HQL Query从多个表中选择记录。

    Session session=dao.getSessionFactory().openSession();

    Query query=session.createQuery("from b.Customer_name PurchaseDetailBean p,BookingBean b where p.Booking_Id=b.Booking_Id ");


    System.out.println("dlkkdc"+query);

    arg0.getPortletSession().setAttribute("query", query);

      Query q1 = (Query) arg0.getPortletSession().getAttribute("query");
      Gson gson = new Gson();


    System.out.println("***" + gson.toJson(q1.list()));
    arg0.getPortletSession().setAttribute("adminsales", gson.toJson(q1.list()));
    System.out.println("iiiiiiiiiiiiiiiiiiiiiiii"+gson.toJson(q1.list()));

ITZ显示错误::

org.hibernate.hql.ast.QuerySyntaxException:意外令牌:p靠近第1行,第41列[来自b.Customer_name PurchaseDetailBean p,Com.bean.BookingBean b其中p.Booking_Id = b.Booking_Id]

1 个答案:

答案 0 :(得分:0)

所选列必须出现在来自

之前

因此,请从

更改查询
Query query=session.createQuery
   ("from b.Customer_name PurchaseDetailBean p,BookingBean b where p.Booking_Id=b.Booking_Id ");

Query query=session.createQuery
   ("b.Customer_name from PurchaseDetailBean p,BookingBean b where p.Booking_Id=b.Booking_Id ");