使用JPA Criteria API

时间:2012-12-12 09:11:16

标签: jpa-2.0

我有以下几行代码。

public List getData(String selectcontent) throws ResourceNotFound {
return (List<Object>) jpaTemplate.execute(new JpaCallback<Object>() {

public List<Object> doInJpa(final EntityManager em) throws PersistenceException {
Query query = em.createQuery(selectcontent);
List<Object> count = query.getResultList();
          return count;
        }
      });

selectcontent参数的值为

select t1.*,t2.* from table1 t1,table2 t2 where t1.id = t2.id;

我的pbm是如何使用标准api编写此查询。我试过但我不成功可以有人告诉我我该怎么做。

Query query = entityManager.createQuery("from SimpleBean s"); 
List<SimpleBean> list = query.getResultList(); 

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); 
CriteriaQuery<Object> criteriaQuery = criteriaBuilder.createQuery(); 

Root<SimpleBean> from = criteriaQuery.from(SimpleBean.class); 
CriteriaQuery<Object> select = criteriaQuery.select(from); 

TypedQuery<Object> typedQuery = entityManager.createQuery(select); 
List<Object> resultList = typedQuery.getResultList(); 

assertEqualsList(list, resultList);

0 个答案:

没有答案