List of usage examples for org.hibernate.cfg Configuration getNamedQueries
public Map<String, NamedQueryDefinition> getNamedQueries()
From source file:com.wavemaker.runtime.data.hibernate.DataServiceMetaData_Hib.java
License:Open Source License
@Override public NamedQueryDefinition getQueryDefinition(String queryName) { Configuration cfg = getConfiguration(); NamedQueryDefinition rtn = (NamedQueryDefinition) cfg.getNamedQueries().get(queryName); if (rtn == null) { rtn = (NamedQueryDefinition) cfg.getNamedSQLQueries().get(queryName); }/*from w ww .ja v a 2 s . com*/ return rtn; }
From source file:com.wavemaker.runtime.data.hibernate.DataServiceMetaData_Hib.java
License:Open Source License
@Override public NamedQueryDefinition getHqlQueryDefinition(String queryName) { Configuration cfg = getConfiguration(); NamedQueryDefinition rtn = (NamedQueryDefinition) cfg.getNamedQueries().get(queryName); return rtn;//from w ww . j av a2 s . c o m }
From source file:com.wavemaker.runtime.data.hibernate.DataServiceMetaData_Hib.java
License:Open Source License
private DataOperationFactory initFactory(final Session session) { return new DataOperationFactory() { // this is magic, and has to match the name of the // generated example query(ies). private static final String GENERATED_QUERY_NAME = "ExampleHQLQuery1"; @Override/* w ww. j ava2 s .c om*/ public Collection<String> getEntityClassNames() { return DataServiceMetaData_Hib.this.entityClassNames; } @Override public List<Tuple.Three<String, String, Boolean>> getQueryInputs(String queryName) { List<Tuple.Three<String, String, Boolean>> rtn = new ArrayList<Tuple.Three<String, String, Boolean>>(); NamedQueryDefinition def = getQueryDefinition(queryName); Map<String, String> m = CastUtils.cast(def.getParameterTypes()); for (Map.Entry<String, String> e : m.entrySet()) { Tuple.Two<String, Boolean> t = DataServiceUtils.getQueryType(e.getValue()); rtn.add(Tuple.tuple(e.getKey(), t.v1, t.v2)); } return rtn; } @Override @SuppressWarnings("unchecked") public Collection<String> getQueryNames() { Collection<String> rtn = new HashSet<String>(); Configuration cfg = getConfiguration(); rtn.addAll(cfg.getNamedQueries().keySet()); rtn.addAll(cfg.getNamedSQLQueries().keySet()); return rtn; } @Override public List<String> getQueryReturnNames(String operationName, String queryName) { Query query = session.getNamedQuery(queryName); try { String[] names = query.getReturnAliases(); if (names != null) { return Arrays.asList(names); } } catch (RuntimeException ex) { } return Collections.emptyList(); } @Override public boolean requiresResultWrapper(String operationName, String queryName) { NamedQueryDefinition query = getQueryDefinition(queryName); return DataServiceUtils.requiresResultWrapper(query.getQuery()); } @Override public List<String> getQueryReturnTypes(String operationName, String queryName) { List<String> rtn = new ArrayList<String>(); Type[] rtnTypes = getReturnTypes(queryName); String queryString = getQueryDefinition(queryName).getQuery(); if (rtnTypes == null) { // Must be DML if (!DataServiceUtils.isDML(queryString)) { // throw new AssertionError( // "Query " + queryName + " doesn't return anything"); // actually if it is a sql query we also end up here - // the tests have at least one... } rtn.add(DataServiceConstants.DML_OPERATION_RTN_TYPE.getName()); } else { if (DataServiceUtils.isDynamicInstantiationQuery(queryString)) { String className = DataServiceUtils.getDynamicInstantiationClassName(queryString); if (!StringUtils.isFullyQualified(className)) { if (DataServiceMetaData_Hib.this.entityNames.contains(className)) { className = StringUtils.fq(getDataPackage(), className); } } rtn.add(className); } else { for (Type t : rtnTypes) { rtn.add(getJavaTypeName(t)); } } } return rtn; } @Override public boolean queryReturnsSingleResult(String operationName, String queryName) { // hack for generated queries - only required for initial // ServiceDefinition instance that is used to add the service if (queryName.equals(GENERATED_QUERY_NAME)) { return true; } // to make existing tests happy if (queryName.startsWith("get") && queryName.endsWith("ById")) { return true; } return false; } private Type[] getReturnTypes(String queryName) { Type[] rtn = null; Query query = session.getNamedQuery(queryName); // this blows up for named sql queries (vs named hql queries) // exception msg from hibernate is: "not yet implemented for sql // queries" try { rtn = query.getReturnTypes(); } catch (RuntimeException ex) { if (DataServiceLoggers.metaDataLogger.isDebugEnabled()) { DataServiceLoggers.metaDataLogger .debug("Failed to determine rtn type for query \"" + queryName + "\""); } } return rtn; } }; }
From source file:org.seasar.hibernate3.dao.impl.HibernateDaoMetaDataImpl.java
License:Apache License
private void setupHibernateNamedQuerys() { Configuration cfg = new Configuration(); String hibernateConfigPath = s2sessionFactory_.getConfigPath(); cfg.configure(ResourceUtil.getResource(hibernateConfigPath)); namedQueries_ = cfg.getNamedQueries(); }