org.hibernate.Session#createQuery ( )源码实例Demo

下面列出了org.hibernate.Session#createQuery ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: tutorials   文件: ApplicationView.java
public Long[] projectionRowCount() {
    final Session session = HibernateUtil.getHibernateSession();
    final CriteriaBuilder cb = session.getCriteriaBuilder();
    final CriteriaQuery<Long> cr = cb.createQuery(Long.class);
    final Root<Item> root = cr.from(Item.class);
    cr.select(cb.count(root));
    Query<Long> query = session.createQuery(cr);
    final List<Long> itemProjected = query.getResultList();
    // session.createCriteria(Item.class).setProjection(Projections.rowCount()).list();
    final Long projectedRowCount[] = new Long[itemProjected.size()];
    for (int i = 0; i < itemProjected.size(); i++) {
        projectedRowCount[i] = itemProjected.get(i);
    }
    session.close();
    return projectedRowCount;
}
 
源代码2 项目: sdudoc   文件: CollectDaoImpl.java
@Override
public boolean deleteCollect(int collectId, int userId) {
	String sql = "delete from Collect where id=:id and userId=:userId";
	Session session = sessionFactory.getCurrentSession();
	Query query = session.createQuery(sql);
	query.setInteger("id", collectId);
	query.setInteger("userId", userId);
	int num = query.executeUpdate();
	if(num > 0)
		return true;
	return false;
}
 
源代码3 项目: Knowage-Server   文件: SbiMetaJobDAOHibImpl.java
/**
 * Checks for tables associated.
 *
 * @param sourceId
 *            the metatable id
 *
 * @return true, if checks for tables associated
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.metadata.dao.ISbiMetaJobDAOHibImpl#hasTablesAssociated(int)
 */
@Override
public boolean hasTablesAssociated(Integer id) throws EMFUserError {
	boolean bool = false;

	Session tmpSession = null;
	Transaction tx = null;
	try {
		tmpSession = getSession();
		tx = tmpSession.beginTransaction();

		String hql = " from SbiMetaJobSource s where s.id.jobId = ?";
		Query aQuery = tmpSession.createQuery(hql);
		aQuery.setInteger(0, id);

		List bcAssociated = aQuery.list();
		if (bcAssociated.size() > 0)
			bool = true;
		else
			bool = false;
		tx.commit();
	} catch (HibernateException he) {
		logException(he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {
		if (tmpSession != null) {
			if (tmpSession.isOpen())
				tmpSession.close();
		}
	}
	return bool;
}
 
源代码4 项目: core   文件: Frequency.java
/**
 * Returns List of Frequency objects for the specified database revision.
 * 
 * @param session
 * @param configRev
 * @return
 * @throws HibernateException
 */
@SuppressWarnings("unchecked")
public static List<Frequency> getFrequencies(Session session, int configRev) 
		throws HibernateException {
	String hql = "FROM Frequency " +
			"    WHERE configRev = :configRev";
	Query query = session.createQuery(hql);
	query.setInteger("configRev", configRev);
	return query.list();
}
 
源代码5 项目: micronaut-data   文件: HibernateJpaOperations.java
private <T> Query<T> buildCriteriaQuery(Session session, @NonNull Class<T> rootEntity, CriteriaBuilder criteriaBuilder, @NonNull Pageable pageable) {
    CriteriaQuery<T> query = criteriaBuilder.createQuery(rootEntity);
    Root<T> root = query.from(rootEntity);
    bindCriteriaSort(query, root, criteriaBuilder, pageable);
    Query<T> q = session.createQuery(
            query
    );
    bindPageable(q, pageable);
    return q;
}
 
源代码6 项目: fastdfs-zyc   文件: TestModuleServiceImpl.java
@Override
@Transactional(propagation = Propagation.REQUIRED)
public Fdfs_file getFileByFileId(String fileId) {
    Session session = getSession();
    Query query = session.createQuery(" from Fdfs_file f where f.file_id='"+fileId+"'");
    List<Fdfs_file> fileList=query.list();
    if(fileList.size()>0){
        return fileList.get(0);
    }else{
        return  null;
    }

}
 
源代码7 项目: Knowage-Server   文件: OAuth2TenantInitializer.java
@Override
public void init(SourceBean config, Session hibernateSession) {
	logger.debug("IN");
	try {
		String hql = "from SbiTenant";
		Query hqlQuery = hibernateSession.createQuery(hql);
		List<SbiTenant> existingTenants = hqlQuery.list();

		List<String> configuredTenants = getTenants();
		for (String aConfiguredTenant : configuredTenants) {
			if (exists(aConfiguredTenant, existingTenants)) {
				LogMF.debug(logger, "Tenant {0} already exists", aConfiguredTenant);
				writeTenantWriteDefaultDatasource(aConfiguredTenant, hibernateSession);
				break;
			} else {
				LogMF.info(logger, "Tenant {0} does not exist. It will be inserted", aConfiguredTenant);
				writeTenant(aConfiguredTenant, hibernateSession);
				writeTenantProductTypes(aConfiguredTenant, hibernateSession);
				writeTenantWriteDefaultDatasource(aConfiguredTenant, hibernateSession);
				LogMF.debug(logger, "Tenant {0} was inserted", aConfiguredTenant);
				break;
			}
		}
	} catch (Throwable t) {
		logger.error(t.getMessage(), t);
		throw new SpagoBIRuntimeException("An unexpected error occured while initializing Tenants", t);
	} finally {
		logger.debug("OUT");
	}
}
 
源代码8 项目: Knowage-Server   文件: SbiJobTableDAOHibImpl.java
@Override
public SbiMetaJobTable loadJobTable(Session session, Integer jobId, Integer tableId) throws EMFUserError {
	logger.debug("IN");

	Session aSession = session;
	SbiMetaJobTable toReturn = null;
	Query hqlQuery = null;

	try {

		hqlQuery = aSession.createQuery(" from SbiMetaJobTable as db where db.id.jobId = ? and db.id.tableId = ? ");
		hqlQuery.setInteger(0, jobId);
		hqlQuery.setInteger(1, tableId);

		List hibList = hqlQuery.list();

		Iterator it = hibList.iterator();
		while (it.hasNext()) {
			toReturn = (SbiMetaJobTable) it.next();
			return toReturn;

		}
	} catch (HibernateException he) {
		logException(he);

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {
		logger.debug("OUT");
	}

	return toReturn;
}
 
源代码9 项目: kardio   文件: DBQueryUtil.java
/**
 * Update the tps_service table with latest tps values. 
 * 
 */
public static void updateTpsService(final int envId, int componentId, float tpsVaule, float latencyValue){
	Session session = HibernateConfig.getSessionFactory().getCurrentSession();
	Transaction txn = session.beginTransaction();
	Query query = session.createQuery(HQLConstants.UPDATE_TPS_SERVICE_DETAILS);
	query.setFloat("tpsVaule", tpsVaule);
	query.setFloat("latencyValue", latencyValue);
	query.setTimestamp("lastUpdateDate", new java.sql.Timestamp(System.currentTimeMillis()));
	query.setLong("compId", componentId);
	query.setLong("environmentId", envId);
	query.executeUpdate();
	txn.commit();
}
 
源代码10 项目: bamboobsc   文件: BaseDAO.java
@SuppressWarnings("rawtypes")
@Override
public List findList(final String hql, final int offset, final int length) throws Exception {
	List list=null;
	Session hbmSession=this.getCurrentSession();
	if (hbmSession==null) {
		return list;
	}
	try {
		Query query=hbmSession.createQuery(hql);
		query.setFirstResult(offset);
		query.setMaxResults(length);
		list=query.list();
	} catch (Exception e) {
		e.printStackTrace();
	}		
	
	/*
	if (hql==null || this.getHibernateTemplate()==null) {
		return list;
	}
	list=this.getHibernateTemplate().executeFind(
			new HibernateCallback() {
				public Object doInHibernate(Session session) {
					Query query=null;
					List resultList=null;
					try {
						query=session.createQuery(hql);
						query.setFirstResult(offset);
						query.setMaxResults(length);
						resultList=query.list();
					}
					catch (Exception e) {
						e.printStackTrace();
					}
					return resultList;
				}
			}
	);
	*/
	
	return list;
}
 
源代码11 项目: aerogear-unifiedpush-server   文件: JPABaseDao.java
protected org.hibernate.Query createHibernateQuery(String hql) {
    Session session = (Session) entityManager.getDelegate();
    return session.createQuery(hql);
}
 
源代码12 项目: Knowage-Server   文件: SbiGeoMapsDAOHibImpl.java
/**
 * Load map by name and level.
 *
 * @param name
 *            the name
 *
 * @param level
 *            the level
 *
 * @return the geo map
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.mapcatalogue.dao.geo.bo.dao.ISbiGeoMapsDAO#loadMapByNameLevel(string)
 */
@Override
public GeoMap loadMapByHierarchyKey(String hierarchy, String member, String level) throws EMFUserError {
	GeoMap biMap = null;
	Session tmpSession = null;
	Transaction tx = null;
	try {
		tmpSession = getSession();
		tx = tmpSession.beginTransaction();

		Query hqlQuery = tmpSession.createQuery(" from SbiGeoMaps m " + "where m.hierarchyName=:hierarchy and m.memberName = :member and m.level = :level");

		hqlQuery.setString("hierarchy", hierarchy);
		hqlQuery.setString("member", member);
		hqlQuery.setInteger("level", Integer.valueOf(level));

		SbiGeoMaps hibMap = (SbiGeoMaps) hqlQuery.uniqueResult();

		if (hibMap == null) {
			logger.error("SVG with hierarchyName [" + hierarchy + "] and memberName[" + member + "] and level [" + level + "] non found in catalogue. ");
			throw new SpagoBIRuntimeException("SVG with hierarchyName [" + hierarchy + "] and memberName[" + member + "] and level [" + level
					+ "] non found in catalogue.");
		}
		biMap = hibMap.toGeoMap();

		tx.commit();
	} catch (org.hibernate.NonUniqueResultException nhe) {
		logException(nhe);
		if (tx != null)
			tx.rollback();
		throw new SpagoBIRuntimeException("There are more than one SVG loaded with Hierarchy [" + hierarchy + "] - Member [" + member + "] - Level ["
				+ level + "]. Please verify the univocity of the hierarchy keys of the SVG documents!", nhe);
	} catch (HibernateException he) {
		logException(he);
		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (tmpSession != null) {
			if (tmpSession.isOpen())
				tmpSession.close();
		}
	}
	return biMap;
}
 
/**
 * Erase low functionality.
 *
 * @param aLowFunctionality
 *            the a low functionality
 * @param profile
 *            the profile
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.analiticalmodel.functionalitytree.dao.ILowFunctionalityDAO#eraseLowFunctionality(it.eng.spagobi.analiticalmodel.functionalitytree.bo.LowFunctionality,
 *      it.eng.spago.security.IEngUserProfile)
 */
@Override
public void eraseLowFunctionality(LowFunctionality aLowFunctionality, IEngUserProfile profile) throws EMFUserError {
	logger.debug("IN");
	Session aSession = null;
	Transaction tx = null;
	try {
		if (hasChild(aLowFunctionality.getId())) {
			HashMap params = new HashMap();
			params.put(PAGE, "BIObjectsPage");
			// params.put(SpagoBIConstants.ACTOR,
			// SpagoBIConstants.ADMIN_ACTOR);
			params.put(SpagoBIConstants.OPERATION, SpagoBIConstants.FUNCTIONALITIES_OPERATION);
			throw new EMFUserError(EMFErrorSeverity.ERROR, 1000, new Vector(), params);
		}
		aSession = getSession();
		tx = aSession.beginTransaction();
		SbiFunctions hibFunct = (SbiFunctions) aSession.load(SbiFunctions.class, aLowFunctionality.getId());
		Set oldRoles = hibFunct.getSbiFuncRoles();
		Iterator iterOldRoles = oldRoles.iterator();
		while (iterOldRoles.hasNext()) {
			SbiFuncRole role = (SbiFuncRole) iterOldRoles.next();
			aSession.delete(role);
		}

		// update prog column in other functions
		// String hqlUpdateProg =
		// "update SbiFunctions s set s.prog = (s.prog - 1) where s.prog > "
		// + hibFunct.getProg() + " and s.parentFunct.functId = " +
		// hibFunct.getParentFunct().getFunctId();
		if (hibFunct.getParentFunct() != null) {
			String hqlUpdateProg = "update SbiFunctions s set s.prog = (s.prog - 1) where s.prog > ? " + " and s.parentFunct.functId = ?";
			Query query = aSession.createQuery(hqlUpdateProg);
			query.setInteger(0, hibFunct.getProg().intValue());
			query.setInteger(1, hibFunct.getParentFunct().getFunctId().intValue());
			query.executeUpdate();
		}

		aSession.delete(hibFunct);

		tx.commit();
	} catch (HibernateException he) {
		logger.error("HibernateException", he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} catch (EMFUserError emfue) {
		if (tx != null)
			tx.rollback();
		throw emfue;
	} catch (Exception e) {
		logException(e);
		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (aSession != null)
			if (aSession != null) {
				if (aSession.isOpen()) {
					aSession.close();
					logger.debug("The [eraseLowFunctionality] occurs. LowFunctionality cache will be cleaned.");
					this.clearCache();
				}
				logger.debug("OUT");
			}
	}
}
 
源代码14 项目: Knowage-Server   文件: BIObjectDAOHibImpl.java
@Override
public List loadAllBIObjectsFromInitialPath(String initialPath) throws EMFUserError {
	logger.debug("IN");
	Session aSession = null;
	Transaction tx = null;
	List realResult = new ArrayList();
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		/*
		 * Query hibQuery = aSession.createQuery( "select " + "	distinct(objects) " + "from " +
		 * "	SbiObjects as objects, SbiObjFunc as objFuncs, SbiFunctions as functions " + "where " +
		 * "	objects.biobjId = objFuncs.id.sbiObjects.biobjId " + "	and objFuncs.id.sbiFunctions.functId = functions.functId " + "	and " +
		 * "		(functions.path = '" + initialPath + "' " + "		 or functions.path like '" + initialPath + "/%' ) " + "order by " +
		 * "	objects.label");
		 */

		Query hibQuery = aSession
				.createQuery("select " + "	distinct(objects) " + "from " + "	SbiObjects as objects, SbiObjFunc as objFuncs, SbiFunctions as functions "
						+ "where " + "	objects.biobjId = objFuncs.id.sbiObjects.biobjId " + "	and objFuncs.id.sbiFunctions.functId = functions.functId "
						+ "	and " + "		(functions.path = ? " + "		 or functions.path like ?) " + "order by " + "	objects.label");

		hibQuery.setString(0, initialPath);
		hibQuery.setString(1, initialPath + "%");
		List hibList = hibQuery.list();

		Iterator it = hibList.iterator();
		while (it.hasNext()) {
			realResult.add(toBIObject((SbiObjects) it.next(), aSession));
		}
		tx.commit();
	} catch (HibernateException he) {
		logger.error(he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
	logger.debug("OUT");
	return realResult;
}
 
@Override
public void modifyBIMetaModelParameter(BIMetaModelParameter aBIMetaModelParameter) {
	Session session = null;
	Transaction transaction = null;
	try {
		session = getSession();
		transaction = session.beginTransaction();
		SbiMetaModelParameter hibBIMetaModelParameter = (SbiMetaModelParameter) session.load(SbiMetaModelParameter.class, aBIMetaModelParameter.getId());
		if (hibBIMetaModelParameter == null) {
			logger.error("The MetaModelParameter with id=" + aBIMetaModelParameter.getId() + " does not exist.");
		}

		SbiMetaModel hibMetaModel = (SbiMetaModel) session.load(SbiMetaModel.class, aBIMetaModelParameter.getBiMetaModelID());
		SbiParameters aSbiParameter = (SbiParameters) session.load(SbiParameters.class, aBIMetaModelParameter.getParID());

		hibBIMetaModelParameter.setSbiMetaModel(hibMetaModel);
		hibBIMetaModelParameter.setSbiParameter(aSbiParameter);
		hibBIMetaModelParameter.setLabel(aBIMetaModelParameter.getLabel());
		if (aBIMetaModelParameter.getRequired() != null)
			hibBIMetaModelParameter.setReqFl(new Short(aBIMetaModelParameter.getRequired().shortValue()));
		if (aBIMetaModelParameter.getModifiable() != null)
			hibBIMetaModelParameter.setModFl(new Short(aBIMetaModelParameter.getModifiable().shortValue()));
		if (aBIMetaModelParameter.getVisible() != null)
			hibBIMetaModelParameter.setViewFl(new Short(aBIMetaModelParameter.getVisible().shortValue()));
		if (aBIMetaModelParameter.getMultivalue() != null)
			hibBIMetaModelParameter.setMultFl(new Short(aBIMetaModelParameter.getMultivalue().shortValue()));
		hibBIMetaModelParameter.setParurlNm(aBIMetaModelParameter.getParameterUrlName());

		Integer colSpan = aBIMetaModelParameter.getColSpan();
		Integer thickPerc = aBIMetaModelParameter.getThickPerc();

		Integer oldPriority = hibBIMetaModelParameter.getPriority();
		Integer newPriority = aBIMetaModelParameter.getPriority();
		if (!oldPriority.equals(newPriority)) {
			Query query = null;
			if (oldPriority.intValue() > newPriority.intValue()) {
				String hqlUpdateShiftRight = "update SbiMetaModelParameter s set s.priority = (s.priority + 1) where s.priority >= " + newPriority
						+ " and s.priority < " + oldPriority + "and s.sbiMetaModel.id = " + hibMetaModel.getId();
				query = session.createQuery(hqlUpdateShiftRight);
			} else {
				String hqlUpdateShiftLeft = "update SbiMetaModelParameter s set s.priority = (s.priority - 1) where s.priority > " + oldPriority
						+ " and s.priority <= " + newPriority + "and s.sbiMetaModel.id = " + hibMetaModel.getId();
				query = session.createQuery(hqlUpdateShiftLeft);
			}
			query.executeUpdate();
		}
		hibBIMetaModelParameter.setPriority(newPriority);
		hibBIMetaModelParameter.setProg(new Integer(1));
		hibBIMetaModelParameter.setColSpan(colSpan);
		hibBIMetaModelParameter.setThickPerc(thickPerc);

		updateSbiCommonInfo4Update(hibBIMetaModelParameter);
		transaction.commit();
	} catch (HibernateException he) {
		logException(he);
		if (transaction != null)
			transaction.rollback();
		throw new HibernateException(he.getLocalizedMessage(), he);
	} finally {
		if (session != null) {
			if (session.isOpen())
				session.close();
		}
	}
}
 
源代码16 项目: Knowage-Server   文件: DistributionListDaoImpl.java
@Override
public void eraseDistributionListObjects(DistributionList dl, int biobId, String triggername) throws EMFUserError {

	logger.debug("IN");
	Session aSession = null;
	Transaction tx = null;
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();
		SbiDistributionListsObjects hibDistributionListsObjects = new SbiDistributionListsObjects();

		// String hql = "from SbiDistributionListsObjects sdlo where sdlo.sbiDistributionList.dlId=" + dl.getId()+" and sdlo.sbiObjects.biobjId="+biobId;
		String hql = "from SbiDistributionListsObjects sdlo where sdlo.sbiDistributionList.dlId=? and sdlo.sbiObjects.biobjId=?";
		Query query = aSession.createQuery(hql);
		query.setInteger(0, dl.getId());
		query.setInteger(1, biobId);
		List l = query.list();
		if (!l.isEmpty()) {
			Iterator it = l.iterator();
			while (it.hasNext()) {
				SbiDistributionListsObjects temp = (SbiDistributionListsObjects) it.next();
				String xmlstr = temp.getXml();
				SourceBean sb = SourceBean.fromXMLString(xmlstr);
				String trigName = (String) sb.getAttribute("triggerName");
				if (trigName != null && trigName.equals(triggername)) {
					hibDistributionListsObjects = temp;
					aSession.delete(hibDistributionListsObjects);
				}
			}
		}
		tx.commit();
	} catch (HibernateException he) {
		logger.error("Error while erasing Distribution List objects related to the Distribution List " + ((dl == null) ? "" : String.valueOf(dl.getId())),
				he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 9106);

	} catch (SourceBeanException e) {
		logger.error("Error while generating Source Bean");
		e.printStackTrace();
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
			logger.debug("OUT");
		}
	}
}
 
/**
 * Load maps by feature id.
 * 
 * @param featureId the feature id
 * 
 * @return the list
 * 
 * @throws EMFUserError the EMF user error
 * 
 * @see it.eng.spagobi.mapcatalogue.dao.bo.dao.ISbiGeoMapFeaturesDAO#loadMapsByFeatureId(java.lang.Integer)
 */	
public List loadMapsByFeatureId(Integer featureId) throws EMFUserError {
	Session aSession = null;
	Transaction tx = null;
	List realResult = new ArrayList();
	String hql = null;
	Query hqlQuery = null;
	
	try {
		aSession = getSession();
		tx = aSession.beginTransaction();

		/*hql = " from SbiGeoMapFeatures as mf " + 
         "where mf.id.featureId = " + featureId.toString();*/
		
		hql = " from SbiGeoMapFeatures as mf " + 
         "where mf.id.featureId = ?" ;
		
		hqlQuery = aSession.createQuery(hql);
		hqlQuery.setInteger(0, featureId.intValue());
		List hibList = hqlQuery.list();
		
		Iterator it = hibList.iterator();
		ISbiGeoMapsDAO mapDAO = DAOFactory.getSbiGeoMapsDAO();
		SbiGeoMapFeatures tmpMapFeature = null;
		GeoMap tmpMap = null;
		while (it.hasNext()) {				
			tmpMapFeature = (SbiGeoMapFeatures) it.next();
			SbiGeoMapFeaturesId tmpMapFeatureId = tmpMapFeature.getId();				
			tmpMap = mapDAO.loadMapByID(new Integer(tmpMapFeatureId.getMapId()));
			if (tmpMap != null)
				realResult.add((GeoMap)tmpMap);
		}
		tx.commit();
	} catch (HibernateException he) {
		logException(he);

		if (tx != null)
			tx.rollback();

		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);

	} finally {			
		if (aSession!=null){
			if (aSession.isOpen()) aSession.close();
		}			
	}
	return realResult;
}
 
源代码18 项目: Knowage-Server   文件: EngineDAOHibImpl.java
/**
 * Load engine by driver name.
 *
 * @param engineLabel
 *            the driver name
 *
 * @return the engine
 *
 * @throws EMFUserError
 *             the EMF user error
 *
 * @see it.eng.spagobi.engines.config.dao.IEngineDAO#loadEngineByID(java.lang.Integer)
 */

@Override
public Engine loadEngineByDriver(String driver) throws EMFUserError {
	logger.debug("IN");
	boolean isFound = false;
	Engine engine = null;
	Session aSession = null;
	Transaction tx = null;
	try {
		logger.debug("engine driver is " + driver);
		aSession = getSession();
		tx = aSession.beginTransaction();

		// Criterion labelCriterrion = Expression.eq("driverNm",
		// driver);
		// Criteria criteria = aSession.createCriteria(SbiEngines.class);
		// criteria.add(labelCriterrion);
		// SbiEngines hibEngine = (SbiEngines) criteria.uniqueResult();

		Query hibQueryProd = aSession.createQuery("select opt.sbiProductType from SbiOrganizationProductType opt "
				+ "where opt.sbiOrganizations.name = :tenant ");
		hibQueryProd.setString("tenant", getTenant());

		List hibListProd = hibQueryProd.list();
		Iterator productIt = hibListProd.iterator();

		while (productIt.hasNext() && !isFound) {
			SbiProductType productType = (SbiProductType) productIt.next();

			Query hibQueryEng = aSession.createQuery("select pte.sbiEngines from SbiProductTypeEngine pte "
					+ "where pte.sbiProductType.label = :productType " + "and pte.sbiEngines.driverNm = :driver");

			hibQueryEng.setString("productType", productType.getLabel());
			hibQueryEng.setString("driver", driver);

			SbiEngines hibEngine = (SbiEngines) hibQueryEng.uniqueResult();

			if (hibEngine != null) {
				isFound = true;
				engine = toEngine(hibEngine);
			}
		}
		tx.commit();
	} catch (HibernateException he) {
		logger.error("Error in retrieving engine by label " + driver, he);

		if (tx != null)
			tx.rollback();
		throw new EMFUserError(EMFErrorSeverity.ERROR, 100);
	} finally {
		if (aSession != null) {
			if (aSession.isOpen())
				aSession.close();
		}
	}
	if (engine == null) {
		logger.debug("No engine with driver [" + driver + "] was found.");
	}
	logger.debug("OUT");
	return engine;
}
 
源代码19 项目: Knowage-Server   文件: DataSetDAOImpl.java
/**
 * @param scope Sent from DatasetResource <br>
 *              Can be: "all", "owned", "enterprise" and "shared", depends on Tab from Workspace/Datasets (MyDataset, Shared, Enterprise, All)
 */
@Override
public List<IDataSet> loadDatasetsByTags(UserProfile user, List<Integer> tagIds, String scope) {
	logger.debug("IN");
	List<IDataSet> toReturn = new ArrayList<>();
	Session session = null;
	Set<Domain> categoryList = null;
	String owner = null;
	String domain = null;
	String[] domains = null;
	try {
		Assert.assertNotNull(user, "UserProfile object cannot be null");

		StringBuffer statement = new StringBuffer("select distinct(dst.dataSet) from SbiDatasetTag dst where dst.dataSet.active = ? ");

		if (scope.equalsIgnoreCase("owned") || scope.equalsIgnoreCase("shared")) {
			owner = user.getUserId().toString();
			if (owner != null) {
				if (scope.equalsIgnoreCase("owned"))
					statement.append("and dst.dataSet.owner = :owner ");
				else
					statement.append("and dst.dataSet.owner != :owner ");
			}
		}

		if (scope.equalsIgnoreCase("enterprise") || scope.equalsIgnoreCase("shared") || scope.equalsIgnoreCase("all")) {
			statement.append("and dst.dataSet.scope.valueCd = :domain ");
			if (scope.equalsIgnoreCase("enterprise"))
				domain = scope.toUpperCase();
			else if (scope.equalsIgnoreCase("shared"))
				domain = "USER";
			else {
				domains = new String[2];
				domains[0] = "USER";
				domains[1] = "ENTERPRISE";
				statement.append("and (dst.dataSet.scope.valueCd = :user or dst.dataSet.scope.valueCd = :enterprise) ");
			}

			categoryList = UserUtilities.getDataSetCategoriesByUser(user);
			if (categoryList != null && !categoryList.isEmpty()) {
				statement.append("and dst.dataSet.category.valueCd in (:categories) ");
			}
		}

		if (!tagIds.isEmpty()) {
			statement.append("and dst.dsTagId.tagId in (:tagIds)");
		}

		session = getSession();
		Query query = session.createQuery(statement.toString());

		// Always get active versions
		query.setBoolean(0, true);

		if (owner != null) {
			query.setString("owner", owner);
		}

		if (domain != null)
			query.setString("domain", domain);

		if (domains != null && domains.length > 0) {
			query.setString("user", domains[0]);
			query.setString("enterprise", domains[1]);
		}

		if (categoryList != null && !categoryList.isEmpty()) {
			Iterator<Domain> it = categoryList.iterator();
			List<String> categoryValues = new ArrayList<>();
			while (it.hasNext()) {
				categoryValues.add(it.next().getValueName());
			}

			query.setParameterList("categories", categoryValues);
		}

		if (!tagIds.isEmpty()) {
			query.setParameterList("tagIds", tagIds);
		}

		toReturn = executeQuery(query, session);
	} catch (Exception e) {
		logger.error("An error has occured while filtering Enterprise Datasets by Tags", e);
		throw new SpagoBIDAOException("An unexpected error has occured while filtering Datasets by Tags", e);
	} finally {
		if (session != null && session.isOpen())
			session.close();
	}

	logger.debug("OUT");
	return toReturn;
}
 
源代码20 项目: uyuni   文件: TestUtils.java
/**
 * Finds a single instance of a persistent object.
 * @param query The query to find the persistent object should
 * be formulated to ensure a single object is returned or
 * an error will occur.
 * @return Object found or null if not
 * @throws Exception if there was a Hibernate related exception
 */
public static Object lookupTestObject(String query) throws Exception {
    Session session = HibernateFactory.getSession();
    Query q = session.createQuery(query);
    return q.uniqueResult();
}