openJPA1.22里执行纯SQL语句

由于工作需要,需要通过复杂的SQL语句和数据库的相关函数,才能实现相关复杂数据的业务要求.所以将此方法写下来,与大家分享^-^
执行方法
	public List<Object> findQueryString(String queryStr) {
		try {
			//执行纯SQL语句,list里面,封装的是object数组
			Query query = getEntityManager().createNativeQuery(queryStr);
			//执行JPA的JQL
			//Query query = getEntityManager().createQuery(queryString);
			return query.getResultList();
		} catch (RuntimeException re) {
			throw re;
		} finally {
			EntityManagerHelper.closeEntityManager();
		}
	}

取数方法
		List<Object> list = findQueryString("select DATE_FORMAT(date,'%Y-%m') as m,count(*) from finance_base where DATE_FORMAT(date,'%Y')=2010 group by DATE_FORMAT(date,'%Y-%m')");
		Iterator iterator = list.iterator();
		while(iterator.hasNext()){
			Object[] o = (Object[])iterator.next();
			System.out.print(o[0]);
			System.out.println(o[1]);
		}

你可能感兴趣的:(java,sql,工作,jpa)