У меня есть 2 таблицы Employee и Branch
employee (
emp_id INT PRIMARY KEY,
first_name VARCHAR(40),
last_name VARCHAR(40),
birth_day DATE,
sex VARCHAR(1),
salary INT,
super_id INT,
branch_id INT
);
branch (
branch_id INT PRIMARY KEY,
branch_name VARCHAR(40),
branch_address VARCHAR(50),
branch_pincode INT
);
У меня есть один запрос (выберите A.emp_id, A.first_name, A.last_name, A.birth_date, B.branch_id, B.branch_name, B.branch_address, B.branch_pincode от сотрудника A, филиал B, где A.branch_id = B.branch_id;)
У меня есть 2 интерфейса, как entity_ employee_repo, так и branch_repo, которые расширяют CrudRepository.Как я получу данные из этого запроса из этих хранилищ вместе взятых.
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private Integer emp_id;
private String first_name;
private String last_name;
..
..
//
// with getters and setters...
}
@Entity
@Table(name = "branch")
public class Branch {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private Integer branch_id;
private String branch_name;
private String branch_address;
..
..
//
// with getters and setters...
}
Я пробовал это, но не смог найти решение
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private Integer emp_id;
private String first_name;
private String last_name;
..
..
//
// with getters and setters...
@OneToOne(mappedBy = "branch", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Branch branch;
}
@Entity
@Table(name = "branch")
public class Branch {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private Integer branch_id;
private String branch_name;
private String branch_address;
..
..
//
// with getters and setters...
@OneToOne
@JoinColumn(name = "branch_id", referencedColumnName = "branch_id")
private Employee employee;
}