Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBoot查询3个表并返回json格式的结果_Java_Spring_Spring Boot_Oop_Jpa - Fatal编程技术网

Java SpringBoot查询3个表并返回json格式的结果

Java SpringBoot查询3个表并返回json格式的结果,java,spring,spring-boot,oop,jpa,Java,Spring,Spring Boot,Oop,Jpa,我是新来的春天,sql世界,如果有人可以帮助我在这里 我有三张桌子 表1 -id、appName、版本、教育程度、地区 表2 -id、appName、状态、主题、结果 表3 -id、appName、类型、状态、运动 注: id:主键 appName:唯一密钥 我想创建一个控制器,其中请求主体是“region”、“status”,我想返回appName、status、version、type、version、region的json 如何在springboot中实现同样的效果 我正在考虑扩展crud

我是新来的春天,sql世界,如果有人可以帮助我在这里

我有三张桌子

表1 -id、appName、版本、教育程度、地区

表2 -id、appName、状态、主题、结果

表3 -id、appName、类型、状态、运动

注:

id:主键

appName:唯一密钥

我想创建一个控制器,其中请求主体是“region”、“status”,我想返回appName、status、version、type、version、region的json

如何在springboot中实现同样的效果

我正在考虑扩展crudepository,但无法理解要使用的查询和实现部分


PS:提前谢谢。

您应该有一个实体,其中将包含表1、表2、表3数据

使用hibernate将表与所有表连接起来

例如

@Entity
Class Table1 {
   @Id
   Long id;
   String appName;
   ...
}
@Entity
Class Table2 {
   @Id
   Long id;
   String appName;
   ...
}

@Entity
Class Table3 {
   @Id
   Long id;
   String appName;
   ...
}

@Entity
Class MainObject {
   @Id
   Long id;
   @OneToOne
   Table1 table1;
   @OneToOne
   Table2 table2;

   ...
}
使用main对象来使用curdRepository

注意:根据您的需求使用映射


建议:您可以将应用程序名称添加到主对象,因为它在所有表中都是重复的

我可以避免创建新实体吗?我想从表1中获取值,然后循环每个记录并从表2中检索结果,以此类推。这样我就需要创建3个文件,像这样扩展Crudepository。这是可能的还是一个糟糕的设计?所以这样想吧。你需要从市场上买三样东西。如果你在3轮中购买,可能需要3个小时。但如果你一开始就把所有东西都带上,你就节省了2个小时。网络电话也是如此。您计划对数据库进行3次调用。是的,这很有意义!我将看看如何实现相同的功能。谢谢你,在JpaRepository中使用带有连接的单个查询并将其与@Query annotation一起应用如何?@SaurabhSingh我想使用这种方法,将结果存储在DTO中,然后返回json,但我面临的问题是,当我们扩展JpaRepository时,我们需要提供单个实体,但需要3个表来执行连接。如何为3个表使用/扩展JpaRepository。你能帮助我吗?提前感谢,您可以尝试使用Spring数据投影或构造函数表达式。创建具有所有必需属性的自定义POJO/接口。欲知详情