2012-10-12 16 views
0

在我的應用程序中,我使用eclipselink和標準api。標準api如何向列添加報價?

我的數據庫有一個名爲「訂單」的列表。

問題是,當我使用的標準API來創建一個選擇它使這個SQL:

SELECT id, order, name, phone, uri FROM campus 

它拋出一個異常,因爲「訂單」是SQL中限制關鍵字

我怎樣才能強制標準api把報價放在列名中?

回答

1

最簡單的(和恕我直言,最好的)方法是將order更改爲campus_order或類似的東西,並避免使用SQL關鍵字作爲字段標識符。這種做法通常會導致問題。

我會很高興知道標準API有一些解決此問題的方法,但我建議您重命名該列。今天你使用的是標準API,明天你會使用別的東西......但是在一天結束時,會生成好的舊SQL,最後想到的是發現你的一個查詢不起作用,因爲列名等於SQL版本之一的關鍵字。

0

重命名該字段是一個更容易的選項,但JPA會引用分隔的字段。要將其標記爲分隔符,只需在定義列時添加引號:「\」order \「」。