3

我有一个工作正常的用户对象,直到我向它添加了一个新字段以进行描述。新字段的类型为“NTEXT”,定义为:

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

我有一个 HQL 查询,然后搜索在某些地方具有特定权限级别的不同用户。此查询运行良好,直到添加了描述字段,此时它决定它不能返回不同的用户,因为您不能在 NTEXT 字段上使用 distinct。

为了解决这个问题,我嵌套了查询,以便它在嵌套查询中查找用户 ID 所在的用户,现在只选择不同的用户 ID 而不是整个用户对象。

这不再引发错误,而是返回字符串“dbo”而不是用户对象。

我查看了 HQL 日志,复制了函数,用它们的 db 表替换了对象并插入了参数,函数在 mssql 管理器中的行为应该如此。

为什么 orm 会返回 dbo 而不是对象而不给出任何进一步的错误?有谁知道如何处理 NTEXT 字段,以免引起这些问题?

4

1 回答 1

2

我正在使用

SELECT USER

在 hql 查询中,因为它最初是

SELECT DISTINCT USER

这是将选择直接发送到返回数据库的当前用户而不是用户对象的数据库。

删除选择行修复了问题

于 2012-12-06T22:00:54.037 回答