2015-06-01 32 views
0
  • 檢索公司表
    GetEntity.javaJPA本機查詢控制實體(第三部分)

    String table = "company"; 
    String q = "select * from " +table; 
    
    Query query = em.createNativeQuery(q, Company.class); 
    List<Company> list = query.getResultList(); 
    ... 
    
  • 檢索人員表
    GetEntity.java

    String table = "staff"; 
    String q = "select * from " +table; 
    
    Query query = em.createNativeQuery(q, Staff.class); 
    List<Staff> list = query.getResultList(); 
    ... 
    
  • 我的問題是我如何控制?從以下內容:

    em.createNativeQuery(q, ?); 
    List<?> list = q.getResultList(); 
    

    任何想法或建議?

+0

控制「?」 ?這是由EMF加載的實體,通常來自具體類中的註釋。看看EMF元數據http://docs.oracle.com/javaee/7/api/javax/persistence/EntityManagerFactory.html#getMetamodel%28%29這可以用來枚舉具體的實體類可用嗎?如果我誤解了,請回答你的問題。 –

回答

0

另一種選擇是通過類entityClass作爲參數傳遞給您的查找方法,然後你可以嘗試通過使用反射來自entityClass派生表名,並使用entityClass作爲類型參數傳送給createNativeQuery方法。

希望這會有所幫助!