当前位置: 首页 > 知识库问答 >
问题:

使用count和groupby查询Hibernate条件

姜宏盛
2023-03-14

我需要将以下查询转换为hibernate条件查询。请帮忙

由于投票表上的复合主键,我用@Embeddable分隔了主键,所以后面的createQuery不起作用

session.createQuery("select V.Vote_Option, count(V.Vote_Option) from Votes  V where V.Event_ID ="+eventId+" group by V.Vote_Option").list()
Criteria criteria = session.createCriteria(Votes.class);
            criteria.add(Restrictions.eq("Event_ID", eventId));
    criteria.setProjection(Projections.projectionList()
            .add(Projections.property("Vote_Option"))
            .add(Projections.property("count(Vote_Option)"))
            .add(Projections.groupProperty("Vote_Option")));

    List<String> showVotes= criteria.list();
@Entity
@Table(name="Votes")

public class Votes {

public Votes(){}

@EmbeddedId
private Vote vote;

@Column(name = "Vote_Option")
private int Vote_Option;
//setter getters...

和可嵌入对象

  @Embeddable
  public class Vote implements Serializable{

    public Vote(){}

    @Column(name="Event_ID")
    private int Event_ID;

    @Column(name="Voter_MSISDN")
    private long Voter_MSISDN;

     //setter getters...

请建议一个更好的方法。

共有1个答案

傅浩漫
2023-03-14

顺便说一下,我使用createQury实现了列表,如下所示,使用embeddable entity将
从v.event_id到v.vote.event_id...vote的更改映射为@embeddable

 session.createQuery("select V.Vote_Option, count(V.Vote_Option) from Votes  V where V.vote.Event_ID ="+eventId+" group by V.Vote_Option").list();
 类似资料:
  • 问题内容: 我有一个这样的数据框说 和会话和收入的每个值代表了一种类型的,我要统计每个种类的数量表示的数量和的为1。 在无法输出所需结果后,我发现简单的调用函数。 我怎样才能做到这一点? 问题答案: 您似乎想一次按几列分组: 应该给你你想要的

  • 问题内容: 我不确定如何描述这个问题,所以我认为举个例子是问我问题的最好方法: 我有两个表具有多对多关系: 驾驶执照<-> LicenceClass LicenceClass是“汽车”,“摩托车”和“中型刚性”之类的东西。 使用Hibernate Criteria,如何找到同时具有“汽车”和“摩托车” LicenceClasses的所有许可证? 2008年12月11日更新我发现可以使用自定义Res

  • 我正在尝试将下面的嵌套查询转换为Hibernate Criteria,但无法做到。实际上,尝试对结果集中的行进行计数和求和。 有人有什么想法吗? 提前谢谢。 下面是为上述查询编写的标准, > 对于select main query, 对于内部查询填充结果集并传递给主查询, 但如何将这个子查询传递给主查询还不清楚。

  • 我有下面的模式, 学生(名字、姓氏、SID) 已注册(学生ID、课程ID) 课程(CID、课程名称、系) 我需要找出哪些学生上的课比课多。和位位于类别中。我有以下查询,其中列出了所有注册课程的学生以及他们注册了多少课程。 不太确定如何将这个数字与那些注册信息技术课程的人进行比较。

  • subcompany.hbm.xml 子单位表 branch.java 指定表 我需要帮助编写条件查询使用提供的SQL。