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

如何在Spring Jpa中从数据库中获取两个连接的表?

子车俊哲
2023-03-14

我有两张桌子,彼此相连。我如何使用Spring数据jpa从数据库中获取它们?

代码如下,

@Entity
@JsonNaming(PropertyNamingStrategies.UpperSnakeCaseStrategy.class)
public class Employee {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String name;
private String phone;
@Enumerated(EnumType.STRING)
private Position position;
private BigDecimal salary;

@OneToOne(mappedBy = "employee", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private Car car;
}


@Entity
@JsonNaming(PropertyNamingStrategies.UpperSnakeCaseStrategy.class)
public class Car {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String model;
private String color;
private double price;

@OneToOne
@JoinColumn(name = "employee_id")
private Employee employee;
}

 // my serice:
@Override
public Employee findEmployeeByName(String name) {
    return employeeRepository.getEmployeeByName(name);
}

结果:结果

共有2个答案

东方旭东
2023-03-14

你能解释一下你到底想要什么吗?比如,如果你只想在返回一个表的查询中使用两个表(以员工姓名为例),没有问题。但是如果你想从两个表中返回列,你可以看看这个答案stackoverflow.com/a/47301366/14994239它展示了如何处理这个问题。

邢曦
2023-03-14

由于您已经指定了fetchType Eager,因此无论何时获取任何对象car或employee,您都将获得相应对象的所有数据。

 类似资料:
  • 我已经用SQL Server Management Studio创建了一个数据库,现在我想在我的C#应用程序中使用它。我需要连接字符串? 如何发布数据库,以便Visual Studio可以获取它?然后我就可以拉出那里的连接字符串了?

  • 问题内容: 我有两个表: 这是表1: 这是表2: 现在,我想从这些表中获取数据。在两个表中都相同。 我想拿 和其他表。 请帮我做到这一点。 问题答案: 我假设您在第二个表中有一个命名字段(您没有列出它): 您应该查看有关的MySQL手册,因为这是编写SQL查询的非常基本的部分。您也可以考虑为product_id字段添加索引,以使查询运行更快。

  • 我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误: 错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。 有谁能解释一下如何使用c

  • 我面临一个无法通过透视表检索数据的问题, 在我的应用程序中,有一个单独的表来存储文件数据,一个单独的表来存储比赛,一个单独的表来存储团队。 还有一个名为的表,其中包含。 用户可以通过选择一个团队或不选择一个团队来添加多个文件到比赛中,如下图所示 它将被同步到表,如下图所示 我需要将UI中的所有数据显示为下图所示的表格 我想知道如何填写使用透视表选择的 文件模型中的关系 竞争模型中的关系 这是我的函

  • 问题内容: 这是我的类,用于从数据库中获取数据 这是我的文件: 当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。 虽然我能够将数据存储在数据库中,但我有2个用于第一和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。 问题答案: 让我引述一下: 据我所知,您正在使用表名。 所以应该是这样的:

  • 本文向大家介绍JDBC如何获取数据库连接,包括了JDBC如何获取数据库连接的使用技巧和注意事项,需要的朋友参考一下 JDBC(Java Database Connectivity),即Java数据库连接。通过JDBC编程,可以使Java应用程序和数据库进行交互。 JDBC驱动的方式有很多种,我们常用的驱动方式为:本地协议的纯Java驱动程序。 JDBC编程的第一步,就是要获取数据库连接。所谓的 “