如何使用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]
答案 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 ");