将 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);
}
我正在调用一个名为 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);
}