如何在主要密钥集合的情况下加载JPA中的所有实体?

时间:2012-10-18 12:15:41

标签: java jpa

我想在JPA 2中编写一个泛型方法,如果给出了主键的集合,它可以加载类T的所有实体。这是所需方法的签名:

public <T> List<T> getEntityList(final Class<T> entityClass, final Collection<Object> primaryKeys)

即使我不知道实体类也不知道主键类,有可能以某种方式吗?

1 个答案:

答案 0 :(得分:-1)

public <T> List<T> getEntityList(final Class<T> entityClass, final Collection<Object> primaryKeys)
    final Session session = sessionFactory.getCurrentSession();
    final Criteria crit = session.createCriteria(entityClass);
    crit.add(Restrictions.in("id", primaryKeys);
return crit.list();

使用条件查询和hibernate使其非常简单。我认为JPA的方式是pretty similar