问题标签 [nhibernate-projections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
469 浏览

c# - 对鉴别器值进行投影

我有这个 NHibernate 映射

那么,当我过滤 ParentClass 对象时,如何像 DAO 中的任何属性一样获得鉴别器值的投影?DAO 中的代码:

0 投票
1 回答
933 浏览

c# - 使用投影加入 QueryOver 中的集合

我想User用他们的Characters集合检索短版本列表(短版本也是如此)。我将 QueryOver 与投影一起使用。

当我运行此代码时,它会引发异常:Could not find a setter for property ClassId in class UserDto. 如果我删除转换器,则结果包含每个用户一个字符的条目(User1-Character1,User1-Character2,...)。每个条目都有正确的昵称和字符类 ID,但错误的 xp(而不是用户 ID)和字符集合(== null)。

如何在不使用 hql 或单独查询字符的情况下获得正确的数据?

更新

我删除了转换器并注释掉了Projections.Property(() => userAlias.Characters)...,现在它返回了正确的结果,但是有没有办法将它们转换为像 AliasToBeanTransformer 那样的投影 dto 并折叠每个字符条目的重复用户数据?

0 投票
1 回答
587 浏览

nhibernate - nHibernate - 动态投影列表,需要返回常量文本

如何在投影列表中返回常量文本,不确定我是否做对了。

这样,我假设我将获得“今年发行价格”作为 PriceTitle 的列值。这样做是因为这是动态的,并且在条件下可能是不同的名称和值。

谢谢

0 投票
1 回答
496 浏览

nhibernate - NHibernate: ProjectionList: Can we create dynamic projectionlist for Orderby

I am working on a query in NHibernate in which user could provide a sorting order for some selected fields. I need to do a OrderBy() in QueryOver with the names of field names in entities, but when using projection list I am getting like this.

The projection list for select columns is different from orderby projection list and I am not using .WithAlias()

How can I create a projectionlist without aliases or aliases with custom names?

Thanks

0 投票
0 回答
1087 浏览

nhibernate - 具有嵌套属性别名的休眠投影

我有一个像这样的 DTO 类:

我有一个这样的预测列表:

并转换查询query.Select(projections.ToArray()).TransformUsing(Transformers.AliasToBean<Aggregates>();

在运行时 TransformUsing() 抛出异常:

这是意料之中的,因为 NHibernate 从成员表达式中选择属性的名称(没有前导成员访问)。那么,如何设置预测,它将填充属性 Aggregates 类的属性?

0 投票
1 回答
1157 浏览

sql - 基于子集合计数的休眠查询过滤器

最终我想过滤所有少于 2 个子对象的父对象。

我正在构建一个带有网格仪表板的搜索屏幕,它使用以下逻辑作为如何构建查询的示例。

到目前为止,这一切都很好:

.Count 不起作用是有道理的,这不是真正的 linq。.Count() 也会引发错误。老实说,我觉得我已经尝试了所有我能想到的 Restrictions、JoinAlias 等组合,但我很久以前就已经偏离了受过教育的尝试并进入了疯狂猜测的领域。

如何设置查询以根据 QueryOver 语法中的子级计数过滤掉父级?

-----注意 ----- 我在 id 得到我的列表后使用 linq 进行了辩论,但我正在查询设置中进行分页,以便在页面返回后应用过滤器。

0 投票
0 回答
210 浏览

grails - Grails Criteria distinct 不起作用

在我的应用程序中,我使用 createCriteria 根据某些标准获取列表。roleMapping 包含用户。

我使用以下代码:

我使用 distinct 是为了不让同一个用户两次,但它没有用。

如果我将预测放在不同的地方,我会得到一个用户列表而不是角色映射

0 投票
1 回答
307 浏览

c# - 使用辅助类的 NHibernate LINQ 投影

我正在尝试将投影添加到 NHibernate LINQ 查询(通过.select()),但由于我有一些逻辑,我想使用辅助类而不是直接返回投影模型。

我的代码看起来像这样(缩短):

_messageModelHelper是一个将我的MessageInstance对象转换为 a的对象MessageModel,它包含处理不同场景的逻辑,因为它都依赖于相关实体。

这失败并出现错误:

字段 Dal.Repositories.MessageRepository._messageModelHelper' 没有为类型“NHibernate.Linq.NhQueryable`1 [Domain.Entities.Message]”定义

如果我避免使用一个字段(这是 DI 所必需的),并执行以下操作:

我只是得到一个System.NotSupportedException.

看来我的方法行不通。我能做什么,同时避免new MessageModel直接返回的需要?另外我真的需要保持投影,我不能对可枚举进行操作。

0 投票
1 回答
720 浏览

java - 休眠一对多返回多个重复对象

我有一个一对多的关系实体场景就像这样 EmployeeGroupActivity 有很多 EmployeeActivity Hibernate 映射如下

当我使用 where 子句获取 EmployeeGroupActivity 时,我期望一个 EmployeeGroupActivity 用于具有许多 EmployeeActivity 对象的事件。

但是我得到的结果是许多 EmployeeGroupActivity 对象都具有相同的 groupActivityId 但每个对象在一组 EmployeeActivity 中有一个 EmployeeActivity 对象。

仅当我使用具有休眠标准的投影时才会发生这种情况,如果我不使用投影,我将获得一个具有许多 EmployeeActivity 对象的 EmployeeGroupActivity 对象。

我正在使用 setResultTransformer 作为标准和http://stackoverflow.com/questions/20331852/java-hibernate-transformer-aliastobeannestedresulttransformer一些在 SO 中发布的库

如何通过预测获得一组员工活动?我有很多这样的要求,我必须在每个地方迭代结果并让一个根对象添加所有设置项,然后作为响应返回,这需要大量迭代。

更新:请注意 DISTINCT_ROOT_ENTITY 不起作用

0 投票
1 回答
450 浏览

java - 通过在包含 Hibernate 中的 premitive 数据类型元素的列表上应用 where 子句来获取数据

我有如下共享的休眠映射

如您所见,我有两个表 EMPLOYEE 和 REF_NUMBERS。EMPLOYEE 表有 POJO,但 REF_NUMBERS 只是映射表。现在我想根据我随身携带的参考号码列表来获取员工姓名。我不想要完整的 Employee 对象只是员工姓名和相应的参考号。我怎么能写HQL这个?有什么办法可以实现Projection吗?