当前位置: 首页 > 面试题库 >

使用休眠条件选择值对象

严修谨
2023-03-14
问题内容

我试图找出是否可以使用Hibernate Criteria API进行以下HQL:

String hql = "select new InitialCount(substring(name, 1,1), count(id)) from Person group by substring(name, 1,1)";

其中InitialCount是一个非常简单的,具有字符串和长构造函数的bean:

public static class InitialCount {
    private final String initial;
    private final long count;

    public InitialCount(String initial, long count) {
        this.initial = initial;
        this.count = count;
    }
}

可能吗?


问题答案:

试试这个 :

criteria.setProjection(Projections.projectionList()
        .add(Projections.groupProperty("formulaProp").as("initial"))
        .add(Projections.count("id").as("count"))
            ).setResultTransformer(Transformers.aliasToBean(InitialCount.class)).list();

其中,公式属性是映射到公式“ substring(name,1,1)”的人员的属性



 类似资料:
  • 问题内容: 是否可以使用hibernatecritiria api创建“选择输入”查询? 示例:我有两个1:n关系中的表,公司和部门 问题答案: 您可以使用此DetachedCriteria

  • 问题内容: 我正在尝试做这样的事情,但使用代替: 用户是与联接表UserDomain 有关系的实体。这里的重点只是找到链接到具有id =“ XXX”的用户。 似乎应该很简单…但是到目前为止我还没有运气找到任何有用的文档。 问题答案: 我终于找到了。事实证明,这毕竟并不难……一旦您知道! 是的,有人盯着我看Javadoc:http : //www.dil.univ- mrs.fr/~massat/d

  • 问题内容: 我有三个实体,例如注册,用户和国家。基本上,注册属于用户,而用户属于国家。现在,我正在尝试通过以下方式从注册中选择国家/地区名称 这失败了,给我: 生成的hibernate查询: 我注意到在sql中没有联接。这就是为什么查询失败?我怎样才能解决这个问题 ? 问题答案: 尝试像

  • 问题内容: 我是Hibernate和Criteria Query的新手。所以我在HQL中实现了查询: 如何使用休眠条件对象实现它? 问题答案: 您的示例只是本机SQL,而不是HQL。无论如何,您可以使用Criteria API中的以下方法来构造所需的Criteria对象: 使用setProjection(Projection projection)定义select子句 使用createCriter

  • 问题内容: 在休眠状态下,我可以执行以下操作 现在,如果我想获取int和String怎么办? 现在列表的结构是什么? 问题答案: 这可以。您唯一需要了解的是它将返回如下列表:

  • 问题内容: 如何将sql查询写入休眠条件? 问题答案: 认为我找到了答案。您必须使用Projection.sqlProjection()而不是Projections.sum()。例: