在Spring Boot中的两个表上进行内部联接

时间:2019-12-03 08:51:48

标签: spring-boot spring-data-jpa inner-join

我有2个实体,并希望对这两个表的ID执行内部联接。我怎么做?加入表格后,如何获取值?

第一个实体:Employee.java

    @Entity
    @Table(name = "emp")
    public class Employee {
    @Id

    @Column(name = "id", nullable = false)
    private int id;


    @Column(name = "language", nullable = false)
    private String language;

第二个实体:Username.java

    @Entity
    @Table(name = "users") 
    public class Username {
    @Id

    @Column(name = "id", nullable = false)
    private int id;


    @Column(name = "name", nullable = false)
    private String name;

谢谢

1 个答案:

答案 0 :(得分:0)

我不知道这对您有没有帮助,

您必须首先指定这些表之间的关系(此处定义了双向关系)。 我想这里有@OneToOne映射。就像这样 在员工表中,

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "username_id")
private Username username;

@OneToOne(mappedBy = "employee")
private Employee employee;

使用相同的方式,只要您需要按需使用这些数据库,然后按照以下方式将查询放置在员工存储库中,

@Query(nativeQuery = true, value="<your-join-query>")
public Employee getEmployeeAllDetails();

有关此类教程的更多简要信息,可以使您更好地反省工作机理。

https://howtodoinjava.com/

https://www.baeldung.com/