假設我將Criteria對象作爲條件。現在我怎麼能得到與這個標準對象相關聯的實體或類的名稱。如何使用Hibernate Criteria對象獲取實體或類名稱
據我所知,crtieria對象會一直在代碼中創建一些像這樣的事情在一些地方:
Criteria criteria = getSession().createCriteria(persistentClass);
現在,如果我收到這樣的標準對象,並想知道「對PersistentClass」實體是什麼獲取它的簡單方法?
感謝
假設我將Criteria對象作爲條件。現在我怎麼能得到與這個標準對象相關聯的實體或類的名稱。如何使用Hibernate Criteria對象獲取實體或類名稱
據我所知,crtieria對象會一直在代碼中創建一些像這樣的事情在一些地方:
Criteria criteria = getSession().createCriteria(persistentClass);
現在,如果我收到這樣的標準對象,並想知道「對PersistentClass」實體是什麼獲取它的簡單方法?
感謝
不是一個確切的解決方案,但仍,
用別名創建標準,
createCriteria(String associationPath, String alias)
保持別名和associatedPath的映射的地方,可以在屬性文件或地圖可以從哪個類想要知道哪些「persistentClass」可以訪問它。
然後使用getAlias()方法來獲取別名,並在您的地圖/屬性文件中查找以獲取persistentClass。
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));
我還沒有在javadoc中找到任何方法。將Criteria及其根類包裝在自定義對象中,並傳遞此對象而不僅僅是Criteria。 –