public static EventDetailInfo getEventDetail(int eventId)
			throws HibernateException {
		EventDetailInfo eventDetail = null;
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		try {
			// Begin unit of work
			session.beginTransaction();

			// get the event
			EventInfo eventInfo = getEventInfoById(eventId);

			if (eventInfo != null) {
				eventDetail = new EventDetailInfo();
				eventDetail.setEventInfo(eventInfo);
				int ownerId = eventInfo.getOwnerId();
				eventDetail.setOnwerInfo(getEventOwnerInfo(ownerId));
				eventDetail.setEventGroup(getEventGroupInfo(eventId));
				eventDetail.setShopInfo(getEventShopInfo(eventId));

				List<UserInfo> eventUserList = getEventMemebers(eventId);

				eventDetail.setTotalMemeberCount(eventUserList == null ? 0
						: eventUserList.size());
			}
		} 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 eventDetail;
	}