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

jpa中具有取数关系的计数查询

关玮
2023-03-14
public class ArticleType extends BaseEntity implements Serializable
{
    private static final long   serialVersionUID    = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "art_typ_index")
    private Integer             artTypIndex;
    //@Basic(optional = false)
    @Column(name = "art_typ_code", nullable = false)
    private String              artTypCode;
    @OneToMany(mappedBy = "artArtTypIndex", fetch = FetchType.LAZY)
    private Set<Article>        articleSet;

    public ArticleType()
    {
    }

    public ArticleType(Integer artTypIndex)
    {
        this.artTypIndex = artTypIndex;
    }

    public ArticleType(Integer artTypIndex, String artTypCode)
    {
        this.artTypIndex = artTypIndex;
        this.artTypCode = artTypCode;
    }

    public Integer getArtTypIndex()
    {
        return artTypIndex;
    }

    public void setArtTypIndex(Integer artTypIndex)
    {
        this.artTypIndex = artTypIndex;
    }

    public String getArtTypCode()
    {
        return artTypCode;
    }

    public void setArtTypCode(String artTypCode)
    {
        this.artTypCode = artTypCode;
    }

    @XmlTransient
    public Set<Article> getArticleSet()
    {
        return articleSet;
    }

    public void setArticleSet(Set<Article> articleSet)
    {
        this.articleSet = articleSet;
    }   
}
SELECT 
count(articleType.artTypIndex)
FROM
ArticleType articleType 
join fetch articleType.articleSet article
where articleType.artTypCode = ?

我不明白是什么问题?
谢谢。

共有1个答案

范金鑫
2023-03-14

问题是您选择的是计数,而不是实体,而是连接提取。

您不需要急切地用您没有获取的实体加载集合。

试着只使用join

 类似资料:
  • 与本文类似,我有以下(几乎相同)类: 区别在于我的属性是私有的(使用bean作为实体)。 问题是:我如何创建一个查询来返回一个确定的人的所有项目(在JPQL和/或使用CriteriaQuery)? 我找到了所有其他类似的问题,但没有一个对我有帮助,因为所有这些问题都依赖于从项目到人员的导航(不存在从人员的查询): JPQL多人选择 @许多JPA 2复杂查询 JPA 2.0 CriteriaQuer

  • 问题内容: 有三个表:,并且,医院能提供的医疗服务和语言服务。因此,存在两个多对多关系。 简单ERD 现在,我想使用和搜索医院数据。 DaoImpl: 而且,如果我想从三个表中按邮政编码,医疗类型和语言进行搜索,那么如何编写一个jsql。 警告: 错误:org.hibernate.hql.internal.ast.ErrorCounter- 预期加入的路径!希望加入的路径!在org.hiberna

  • 问题内容: 声明使用输入参数的属性作为查询参数的Spring数据JPA查询的最简单方法是什么? 例如,假设我有一个实体类: 和另一类: …那么我想编写一个Spring数据存储库,如下所示: …但是Spring数据/ JPA不喜欢我在参数上指定属性名称。 什么是最巧妙的选择? 问题答案: 该链接将为你提供帮助:支持SpEL表达式的Spring Data JPA M1。类似的例子是:

  • 问题内容: 我在用户和角色之间有很多关系。例如 我的要求是获取系统中所有具有其角色的用户。当使用HQL使用我的查询是 但是,这会触发具有相应角色的每个用户的查询。如果有100个用户,它将触发100个查询。但是在SQL中,我可以使用以下查询来实现 我正在为用户进行左外部联接,因为有些用户没有关联的角色。我宁愿不使用本机SQL,因为它有其自身的缺点。有人可以帮我映射相应的HQL或JPQL查询吗? 问题

  • 我正在开发一个人力资源管理应用程序,所以我对如何通过JPA管理实体感到困惑。 我的情况是一组多语言上下文中的表:-employees-departments-languages-departments_languages 在我的数据库表之后: 从这个查询中,我需要员工信息,以及部门名称(假设languageId为1) 从eclipse JPA控制台执行查询将返回一个Employee对象,该对象具有

  • 我是新来laravel的,所以原谅我可能的愚蠢问题。此外,我确实研究了所有其他“类似”的问题,但要么它们没有重现正确的解决方案,要么我真的很难理解。 情景: 我有一个帖子模型和一个主题模型。这就是他们现在的样子。 在岗位上。php 在主题上。php 现在,我需要实现的是: 如果将查询参数传递给请求(即q=Food),我只想返回在主题关系中包含主题食物的帖子,而不返回其他帖子。如果什么都没有通过,那