将类传递给另一个方法

时间:2015-11-02 04:53:47

标签: java jpa jpa-2.0 criteria-api

我正在调用一个名为SimpleCriteria的方法并传递Employees类

   empDAOImpl.SimpleCriteria(getEntityManager(),Employee.class);

在SimpleCriteria方法中我如何能够使用Employee类?我曾尝试过classEntity,但这并没有帮助。        将类传递给另一个方法的正确方法是什么?

   public void SimpleCriteria(EntityManager entityManager, Class<T>
   classEntity)throws InstantiationException,IllegalAccessException{

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

1 个答案:

答案 0 :(得分:1)

你不需要通用。你可以简单地使用classEntity,如下所示

public void SimpleCriteria(EntityManager entityManager, Class
            classEntity)throws InstantiationException,IllegalAccessException {

        CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
        CriteriaQuery criteriaQuery =
                criteriaBuilder.createQuery(classEntity);
    }

如果要返回如下所示的CriteriaQuery

,则需要通用
public <T> CriteriaQuery<T> SimpleCriteria(EntityManager entityManager, Class<T>
        classEntity)throws InstantiationException,IllegalAccessException {

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    return criteriaBuilder.createQuery(classEntity);
}