2010-05-20 38 views
1

我有同樣的問題描述here生成的查詢包含的架構和目錄名稱

在生成的SQL Informix的預計catalog:schema.table但什麼是實際發生的是

catalog.schema.table 

導致語法錯誤。 設置:

hibernate.default_catalog= 
hibernate.default_schema= 

沒有效果。 我甚至從表註釋中刪除模式和目錄,這導致了一個不同的問題:查詢看起來像..table相同的設置目錄和模式爲空字符串。

版本

  • 接縫2.1.2
  • Hibernate註解3.3.1.GA.CP01
  • 休眠3.2.4.sp1.cp08
  • 休眠的EntityManager 3.3.2.GAhibernate
  • Jboss 4.3(類似於4.2.3)

回答

1

我結束了我evever做了最壞的黑客的一個:

結腸是有問題的字符至極應該是「」 catalog:schema.table

的Informix允許SQL語句的意見select {comment} * from sometable

所以我設置

hibernate.default_catalog={ 
hibernate.default_schema=}schemaname 

生成的代碼看起來像

select * from {.}schemaname.tablename 
這是由Informix的查詢分析器接受

+0

選擇此答案爲接受,否則這個問題將出現在未答覆 – 2010-05-25 17:22:58

+0

@謝爾文我仍然希望爲另一個答案,也許別人有更好的解決方案,我沒有時間去檢查Johnathans。 – stacker 2010-05-26 06:57:28

+0

我有同樣的問題,它通過從實體中的@Table註釋中移除'schema'和'catalog'來解決 – Kiavash 2011-06-14 11:05:16

1

請注意,有一個新的(截至2010-04-26)網頁http://www.iiug.org/opensource,它包含有關使用Informix軟件與各種開源軟件包(包括Hibernate)的信息。特別是有可下載的代碼來改進Hibernate和Informix的交互。

+0

+1謝謝,這爲不同的休眠版本提供了補丁,我會在稍後檢查。 – stacker 2010-05-23 06:44:59

+0

不幸的是,這是一個不同的版本的休眠,除了構建失敗「嵌入式錯誤:無法執行po2xml:無法運行程序」po2xml「:CreateProcess錯誤= 2' – stacker 2010-06-07 12:28:40

+0

po2xml是一個已知的(即使不是衆所周知的)程序 - 它可能是有一個無證的依賴關係。 Google搜索表明它可用於Ubuntu。 – 2010-06-07 18:12:07

0

*.hbm.xml中刪除schemacatalog屬性。

相關問題