如何使用 JPA 从 MySQL 调用使用多个表的简单选择过程

问题描述

我有一个从多个表返回结果的存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `GetProjectAndClientOverview`()
BEGIN
  SELECT ( SELECT count(*)  FROM projects_info) as "projects_done",(SELECT COUNT(*) FROM client_info) as "happy_clients",(SELECT count(*) FROM projects_info where category_id in(
select id from pme.projects_category
where category_name in 
("Commercial","Corporate","Hospitality")
))  as "real_professionals",(SELECT COUNT(*) FROM client_info) as "cups_of_coffee";
END

我必须使用 JPA 在 SpringBoot 中调用这个过程, 请指导如何为此存储过程创建实体类、存储库、服务。

我尝试创建实体类,但不确定它是否正确

 package com.panchmeru_studio.entities;
    
    import lombok.Data;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.NamedStoredProcedureQueries;
    import javax.persistence.NamedStoredProcedureQuery;
    
    @Data
    @Entity
   @NamedStoredProcedureQueries({
    @NamedStoredProcedureQuery(name = "getProjectAndClientOverview",procedureName = "GetProjectAndClientOverview",resultClasses ={ ProjectsInfo.class,ClientInfo.class})
})
    public class GetProjectAndClientOverview {
        
        @Column(name="projects_done")
            private int projects_done;
        @Column(name="happy_clients")
            private int happy_clients;
        @Column(name="real_professionals")
            private int real_professionals;
        @Column(name="cups_of_coffee")
            private int cups_of_coffee;
    
        }

请更正这个实体类并进一步指导我。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)