将 class 传递给另一个方法

Pass class to another method

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

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

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

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

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

你不需要通用的。您可以简单地使用 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);
}