2012-12-06 34 views
3

我有一個用戶對象工作正常,直到我爲它添加了一個新字段作爲描述。新字段的類型爲「NTEXT」,並定義爲:Coldfusion ORM NTEXT類型導致'dbo'被返回而不是對象

<cfproperty name="description" type="string" ormtype="text"> 

我有一個HQL查詢,然後做誰擁有在某些地方一定權限級別不同用戶的搜索。這個查詢工作正常,直到描述字段被添加爲止,它決定它不能返回一個不同的用戶,因爲你不能在NTEXT字段上使用不同的字段。

爲了解決這個問題,我嵌套查詢,以便它查找用戶id在嵌套查詢中的用戶,現在只選擇不同的用戶標識而不是整個用戶對象。

這不會再拋出錯誤,而是返回字符串'dbo'而不是用戶對象。

我看過HQL日誌,將函數複製出來,用db表替換對象並插入參數,函數的行爲與它應該在mssql管理器中一樣。

爲什麼orm會返回dbo而不是對象並且不會給出任何進一步的錯誤?有誰知道如何處理NTEXT領域,所以他們不會導致這些問題?

回答

2

我在HQL查詢中使用

SELECT USER 

,因爲它本來

SELECT DISTINCT USER 

這將派遣選擇直接向其中返回數據庫的當前用戶而不是數據庫用戶對象。

卸下選擇線固定在問題

+1

'User'是[在SQL Server的保留字(http://msdn.microsoft.com/en-US/library/ms189822%28v=SQL.90 %29.aspx)。您可能會考慮使用其他名稱來避免其他查詢中的類似問題。 – Leigh

相關問題