2
A
回答
4
全部註冊@Entity
s可通過MetaModel#getEntities()
獲取。它返回List<EntityType<?>>
,其中EntityType
有getName()
方法代表@Entity(name)
和getJavaType()
代表相關的@Entity
類。 MetaModel
實例由EntityManager#getMetaModel()
提供。
換句話說,這裏是在實用工具方法的味道方法:
public static Class<?> getEntityClass(EntityManager entityManager, String entityName) {
for (EntityType<?> entity : entityManager.getMetamodel().getEntities()) {
if (entityName.equals(entity.getName())) {
return entity.getJavaType();
}
}
return null;
}
+0
這個解決方案有效,但是我們有成千上萬的實體並且每次循環都很昂貴,,,, – amitsalyan
+1
@amitsalyan:如果您需要多次執行映射,很容易將映射中的映射緩存在實體名稱爲鍵的映射中,和Class實例作爲值 – OndrejM
相關問題
- 1. Symfony2 - 獲取實體名稱
- 2. 從實例獲取類的名稱
- 3. 如何使用Hibernate Criteria對象獲取實體或類名稱
- 4. 如何獲取給定實體類的PersistenceUnit名稱?
- 5. 如何在esql查詢中獲取實體類型的名稱
- 6. 如何從字符串名稱中獲得Hibernate實體類
- 7. 如何從實體框架關聯中獲取列名稱
- 8. 如何從RavenDB數據庫獲取所有實體名稱(集合名稱)?
- 9. 從JPA實體接口獲取@NamedQuery
- 10. 如何從類實例的屬性中獲取屬性名稱?
- 11. 在JPA中更改實體ID名稱
- 12. Sketchup獲取實體按組件名稱
- 13. Hibernate獲取實體名稱值
- 14. 獲取doctrine2實體中的列名稱
- 15. 實體框架按名稱獲取表
- 16. 如何從JPA中的entitymanager獲取舊實體?
- 17. 如何從JPA resultList獲取更新的實體。
- 18. 如何從類型名稱中獲取類名?
- 19. 如何從字體文件中獲取字體名稱?
- 20. 如何從字體文件中獲取字體名稱?
- 21. 從JPA實體
- 22. 從父類獲取子類名稱
- 23. 從擴展類中獲取類名稱
- 24. javascript獲取類型/實例名稱
- 25. 如何從AWS中的實例獲取實例名稱?
- 26. 通過傳遞實體的名稱獲取實體
- 27. 如何獲取實體框架中映射實體的表名稱核心
- 28. 如何提取Freebase中所有實體的名稱和類型?
- 29. 如何從url提取具體名稱?
- 30. 如何獲取實體中所有屬性的名稱?
有趣的是,可能回答這個問題完全如果你通過所有的答案閱讀:http://stackoverflow.com/questions/4296910/is-it-it-read-the-value-of-a-annotation-in-java。 – Gimby