2012-10-18 30 views
1

我對這些別名「c」 select語句有問題。我從數據庫中得到一個無效列「c」錯誤。但是網絡中的各種示例都使用這種類型的select語句。JPA中的別名Select語句給出了無效的列名稱

Query query = em.createQuery(
"SELECT c FROM Country c WHERE c.name = 'Canada'"); 
Country c = (Country)query.getSingleResult(); 

這種寫供應商特定的方式嗎?

感謝您的幫助?

回答

2

獲取所選的不僅僅是C,因爲它只是一個別名

你必須嘗試這樣的事情你不能說;

從國家選擇c.name Ç 其中c.name = '加拿大'

0

當使用SELECT,你指定你想從數據庫中哪些列。 如果希望所有列,請使用

SELECT * FROM <table> 

,或者如果你正在連接表,只有想從該表中的列使用

SELECT <table>.* FROM <table> 
+0

我發現有什麼問題。上述示例是對類/實體的查詢,而不是對本地數據庫的查詢。 C表示對象實例。我的錯誤是,我混淆了本地和普通查詢。 –

0

上面的例子是在類/實體的查詢,而不是對本地數據庫的查詢。 C表示對象實例。我的錯誤是,我混淆了本地和普通查詢。