聚合查询到hibernate对象的映射结果

聚合查询到hibernate对象的映射结果,hibernate,aggregate-functions,Hibernate,Aggregate Functions,是否可以将聚合查询的结果映射到支持hibernate的域对象中的字段 例如:如果我有一个如下所示的汽车对象-- 我希望carCount字段/属性是我的持久性存储中所有汽车的总数,这可能吗 我看过Hibernate文档,我可以运行查询,但是我不知道在哪里可以将该值设置为“carCount” 谢谢。你可以用配方奶粉做。大概 @Entity public class Car { @Id private int id; @Column private String c

是否可以将聚合查询的结果映射到支持hibernate的域对象中的字段

例如:如果我有一个如下所示的汽车对象--

我希望carCount字段/属性是我的持久性存储中所有汽车的总数,这可能吗

我看过Hibernate文档,我可以运行查询,但是我不知道在哪里可以将该值设置为“carCount”


谢谢。

你可以用配方奶粉做。大概

@Entity
public class Car {
    @Id 
    private int id;
    @Column 
    private String carName;

    @Formula("select count(*) from Car c where c.id = id")
    private int carCount;
}

还有一些例子。

只是一条注释:carCount不是特定实例的属性。这是一个与汽车类相关的属性。因此,它更适合作为“静态”属性。如果您使用的是ActiveRecord模式,这非常简单,但是如果您使用的是带有“dumb”DTO的DAO模式,那么您将把这个carCount保持在DTO之外,并在DAO中实现一个方法,比如“int getCarCount()”。是的,我使用的是DAO模式。我本想不打两次电话给我的刀,但我想我必须这么做。当然,除非我想使用Hibernate提供的@Formula注释;但是我真的很喜欢冬眠
@Entity
public class Car {
    @Id 
    private int id;
    @Column 
    private String carName;

    @Formula("select count(*) from Car c where c.id = id")
    private int carCount;
}