如何使用hibernate条件对象获取实体或类名

如何使用hibernate条件对象获取实体或类名,hibernate,Hibernate,假设我有Criteria对象作为条件。现在,我如何获取与此criteria对象关联的实体或类的名称 我知道crtieria对象应该是在代码中的某个地方创建的: Criteria criteria = getSession().createCriteria(persistentClass); 现在,如果我收到这个criteria对象并想知道“persistentClass”实体,那么获得它的简单方法是什么 谢谢这不是一个精确的解决方案,但是 使用别名创建条件 createCriteria(Str

假设我有Criteria对象作为条件。现在,我如何获取与此criteria对象关联的实体或类的名称

我知道crtieria对象应该是在代码中的某个地方创建的:

Criteria criteria = getSession().createCriteria(persistentClass);
现在,如果我收到这个criteria对象并想知道“persistentClass”实体,那么获得它的简单方法是什么


谢谢

这不是一个精确的解决方案,但是

使用别名创建条件

createCriteria(String associationPath, String alias) 
将alias和associatedPath的映射放在某个地方,可能位于属性文件或映射中,可以从您想要知道的任何类“persistentClass”访问这些属性文件或映射


然后使用getAlias()方法获取别名,并在映射/属性文件中查找以获取persistentClass。

我在javadoc中没有找到任何方法。将条件及其根类包装在自定义对象中,并传递此对象而不仅仅是条件。
  CriteriaImpl impl = (CriteriaImpl) criteria;
  String className = impl.getEntityOrClassName();

  if (className.equals(GenomicSequence.class.getName()))
        criteria.add(Restrictions.eq(BrcConstants.FAMILY_PARTITION, familyName));
  else
        criteria.add(Restrictions.eq("genomicSequence.family", familyName));