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