2011-09-12 42 views
5

我的應用程序在Windows環境中工作正常,但是當我試圖在Linux服務器中測試時,JPA EclipseLink sql生成問題。 我創造了我所有的表小寫,但是當我看到在日誌中,我看到類似的東西,在所有大寫:問題與JPA,EclipseLink和區分大小寫的mysql

INSERT INTO PFC(ID, ALUMN,PROPOSED_ID) VALUES (?, ?, ?) 

混有其他像這樣(序列)小寫:

INSERT INTO buzonmensajes (mensajeid, buzonid) VALUES (?, ?) 
     bind => [27, 1] 

,當然還有,事事不順心,服務器沒有找到大寫表等。

我們使用orm.xml中定義的所有數據庫操作(查詢,實體等)和一切都在小寫...

我知道有一個Mysql參數來改變這些行爲,但不幸的是我不允許改變它。 我的問題是,我需要告訴JPA創建所有查詢並以小寫形式插入表格名稱

回答

5

由於您允許EclipseLink默認某些名稱,因此可能會發生此問題。如果您使用數據庫的大小寫來指定名稱,EclipseLink應默認使用這些情況。您正在使用什麼版本的EclipseLink的

@Table("\"pfc\"")但是這不應該要求

如果發現不工作,你總是可以通過使用「\「」模式分隔標識符執行情況。

+1

嗨,Gordon。謝謝你的幫助。我沒有註釋,我在orm.xml中配置了所有實體,但是你是對的,我添加了標記

來定義表名,並解決了問題,像這樣:
Aitor