gpt4 book ai didi

hibernate - Criteria 中的 setResultTransformer

转载 作者:行者123 更新时间:2023-12-02 22:10:18 25 4
gpt4 key购买 nike

criteria API 中 setResultTransformer 方法有什么用?有人可以用一个简单的例子来解释这一点吗?我阅读了 javadocs,但我无法清楚地理解它们。

问候,

最佳答案

不使用 setProjections() 的 Criteria 查询的默认 ResultTransformer 将为 ROOT_ENTITY

如果我们有学生与部门的多对多关系,查询可能如下所示...

    Session session = (Session) getEntityManager().getDelegate();
Criteria crit = session.createCriteria(Student.class)
.createAlias('departments', 'department');

此查询将返回重复项。但设置ResultTransformer作为...

    crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);

现在,当 Hibernate 整理结果时,结果将会截然不同。 (或者我的意思是解码?)

如果您不希望 Hibernate 将查询返回为 List<Student>但更喜欢将结果处理为 List<Object[]>然后

    crit.setResultTransformer(CriteriaSpecification.PROJECTION)

关于hibernate - Criteria 中的 setResultTransformer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10961048/

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