private static EventDetailShopInfo getEventShopInfo(int eventId)
			throws HibernateException {
		EventDetailShopInfo eventDetailShopInfo = null;
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			// Begin unit of work
			session.beginTransaction();

			// get the event
			String hql = "select es.shopInfo,es.addressInfo from EventShopInfo as es where es.eventId="
					+ eventId;

			Query query = session.createQuery(hql);

			@SuppressWarnings("unchecked")
			List<Object[]> list = query.list();

			if (list.size() > 0) {

				Iterator<Object[]> it = list.iterator();
				while (it.hasNext()) {
					eventDetailShopInfo = new EventDetailShopInfo();
					Object[] item = it.next();
					ShopInfo shopInfo = (ShopInfo) item[0];
					ShopAddressInfo addressInfo = (ShopAddressInfo) item[1];
					eventDetailShopInfo.setShopInfo(shopInfo);
					eventDetailShopInfo.setAddresssInfo(addressInfo);
				}
			}

			// End unit of work
			session.getTransaction().commit();
		} catch (HibernateException hex) {
			logger.error(hex.toString());
			HibernateUtil.getSessionFactory().getCurrentSession()
					.getTransaction().rollback();
		} catch (Exception ex) {
			logger.error(ex.toString());
			HibernateUtil.getSessionFactory().getCurrentSession()
					.getTransaction().rollback();
		}
		return eventDetailShopInfo;
	}