我有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;
谢谢
答案 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();
有关此类教程的更多简要信息,可以使您更好地反省工作机理。