gpt4 book ai didi

c# - 从 HQL 返回额外数据

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:42 24 4
gpt4 key购买 nike

我正在编写一个 HQL 查询,其形式为:

from a where ... or exists (from b inner join b.c where ...) and ...

我从这个查询中得到了一个 a 类型的实体。但是,我还需要知道 exists 子句稍后在我的代码中是否返回 true。如果这是 SQL,我会把它添加到选择列表中。但是,即使我在 HQL 中添加 select 子句,它也会变成:

select a, exists (from b inner join b.c where ...) as x from a where ... or x and ...

在我的代码中,我现在必须在查看未类型化数据或查看 a 类型的类型化实体和丢弃随它返回的值 x 之间做出选择。

有没有办法以某种方式取回键入的数据加上额外的列?

最佳答案

在我看来,您有两个选择:

1) 将附加属性作为只读映射属性添加到您的实体,使用 formula 映射使用内联 sql 或 udf 派生值。

2) 使用自定义 hql 查询仅获取您需要的数据,并使用 aliastobeanresulttransformer 投影到包含您感兴趣的领域的强类型 dto。

走哪条路线完全取决于您,但我倾向于选择 #2,以免用不需要的字段污染您的领域模型。

关于c# - 从 HQL 返回额外数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3600165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com