我有一个正常工作的用户对象,直到我为其添加了一个新字段才能获得描述。新字段的类型为“NTEXT”,定义为:
<cfproperty name="description" type="string" ormtype="text">
我有一个HQL查询,然后搜索在某些地方具有特定权限级别的不同用户。此查询工作正常,直到添加了描述字段,此时它确定它无法返回不同的用户,因为您无法在NTEXT字段上使用distinct。
为了解决这个问题,我嵌套了查询,以便查找用户id在嵌套查询中的用户,而现在只选择不同的用户ID而不是整个用户对象。
这不再抛出错误,而是返回字符串'dbo'而不是用户对象。
我查看了HQL日志,将函数复制出来,用db表替换了对象并插入了参数,函数在mssql管理器中表现得很好。
为什么orm会返回dbo而不是对象而不会再给出任何错误?有谁知道如何处理NTEXT字段,以便它们不会导致这些问题?
答案 0 :(得分:2)
我正在使用
SELECT USER
在原始的
中的hql查询中SELECT DISTINCT USER
这是将select直接发送到DB,而DB正在返回数据库的当前用户而不是用户对象。
删除选择行修复了问题