2013-10-30 39 views
0

假設我有一個類查詢不具有相應的變量在類一列

class MyClass implements Serializable{  

     int x; 
     int y; 
     String z;  
} 

即表示具有的x,y,z和稱爲I另一列的表。

我嘗試這個查詢

SELECT c.i from MyClass as c where c.gid= 1 

這將返回org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: i of MyClass.

那麼如何解決這個使用HQL?

+0

使用SQL而不是HQL。你不能通過使用HQL或Hibernate Criteria來查詢非映射變量 –

+0

你能在'MyClass'中爲'i'變量創建一個getter嗎? –

回答

0

兩種方式來解決這個問題:

1)添加到iMyClass適當的get/set

(或)

2)編寫本地SQL查詢。

+0

兩者都不可能。任何其他方式? –

+0

@ M-T-A:AFAIK,別無他法。 – kosa

+1

@ M-T-A爲什麼不能編寫原生的sql查詢或添加屬性? – nachokk

0

正如錯誤消息所述,屬性i不存在於MyClass中。在MyClass中添加此屬性或相應地更新hql。

0

請問如果你沒有在你的班級中定義我,那麼這個專欄是如何產生的? 我的意思是如果您最近通過添加對應於我的列來更改表格,那麼您應該保持實體同步。

相關問題