2014-02-07 27 views
3

雖然這個標題存在一些問題,但我的查詢並沒有解決這些線程。沒有方言映射的JDBC類型:2003

我通過Postgres的休眠(含條款使用)查詢執行遞歸查詢的結果中包含搜索也

前的路徑:查詢結果一行

5811;"axyz_3_3";"ABC";5782;5811;5797;4;"**{acl_3_3,acl3_4,acl3,acl_3_3}**";t;t 

是否Hibernate有任何映射類型對於"{acl_3_3,acl3_4,acl3,acl_3_3}"以外的字符串, 類似於CHARACTER_ARRAYCHAR_ARRAY

下面是查詢的輸出的

id |name|discri|pId|asscID|immeId|depth|path|cycle|canDelete 
5797;"abc3";"abc";5782;5811;5788;7;"{abc_3_3,abc3_4,abc3,abc4}";t;f 
5797;"abc3";"abc";5782;5786;5813;6;"{abc1,abc2,abc3,abc3}";t;f 
5799;"abc4";"abc";5782;5811;5786;6;"{abc_3_3,abc3_4,abc4}";t;f 
5788;"abc2";"abc";5782;5811;5786;6;"{abc_3_3,abc3_4,abc2}";f;f 
5786;"abc1";"abc";5782;5786;5799;5;"{abc1,abc2,abc3,abc1}";t;f 
5797;"abc3";"abc";5782;5786;5813;5;"{abc1,abc2,abc3,abc3}";t;f 
5813;"abc3_4";"abc";5782;5786;5811;5;"{abc1,abc2,abc3_4}";f;f 
5786;"abc1";"abc";5782;5811;5799;5;"{abc_3_3,abc4,abc1}";f;f 
5813;"abc3_4";"abc";5782;5811;5797;4;"{abc3_4,abc3,abc3_4}";t;f 
5811;"abc_3_3";"abc";5782;5811;5797;4;"{abc_3_3,abc3,abc_3_3}";t;t 
5799;"abc4";"abc";5782;5811;5797;4;"{abc3,abc4}";f;f 

休眠拋出異常下面的示例

Caused by: com.vik.prod.service.UnidentifiedException: No Dialect mapping for JDBC type: 2003 
at com.vik.prod.service.ServiceExecutorUtils.execute(ServiceExecutorUtils.java:93) 
at com.vik.prod.service.ServerServiceExecutor.execute(ServerServiceExecutor.java:76) 
at com.vik.prod.service.ClientDelegate.execute(ClientDelegate.java:197) 
... 33 more 

產生的原因:org.hibernate.MappingException:沒有爲JDBC類型映射方言:2003

+0

也許你應該考慮包括生成此查詢,以及相關的數據類型? –

+0

對不起,但由於保密問題,我無法提供查詢。 hibernate是否有java.sql.Types.ARRAY的映射。 – Stifler

+0

如果您無法顯示真實查詢,請提供您*可*顯示的樣本,或者至少提供一個體面的問題描述。我猜對了,你的問題實際上應該是這樣讀的:「*我如何在Hibernate *中讀寫PostgreSQL數組,比如'text []'?」 。您還沒有顯示查詢,錯誤信息,代碼等 –

回答

2

Hibernate沒有提供和Converter類/ Mapper類來轉換數據庫文本[]數據類型, 爲了這個,我們可以寫自己的對象使用UserType或我們使用 sqlQuery.addScalar(「path」,Hibernate.TEXT);我們可以繪製文本[]爲文本,然後在Java代碼中,我們可以把它分解「」

+0

如何?在'UserType'中放置'text []'的位置?你能舉個例子嗎? –

+0

相關:[Hibernate,Postgres&Array Type](http://stackoverflow.com/a/21984484/320036) – z0r

相關問題