У меня есть сценарий, в котором я хочу объединить две таблицы с одним и тем же столбцом. В таблице 1 указаны данные о сотруднике компании 1, а в таблице 2 указаны данные сотрудника компании 2, EMPID - это первичный ключ в обеих таблицах, мой запрос -
select * from table1 t1 where t1.empid=400 union all
select * from table2 t2 where t2.empid=400
В сценарии обе компании имеют одного сотрудника с empid = 400
Я хочу получить от обеих компаний empid с 400, этот запрос работает нормально в редакторе Postgres SQL, но при весенней загрузке, когда этот запрос предоставляется, всего возвращается 2 строки, но две строки совпадают (как в t1), значения t2 заменяются на t1.
может ли кто-нибудь предложить решение для этого или любого другого альтернативного подхода для достижения этой цели при весенней загрузке.
Для большего понимания
@Query(value = "select * from table1 t1 where t1.empid=?1 union all
select * from table2 t2 where t2.empid=?1 ", nativeQuery = true)
public List<Emp> getByProjectId(@Param("empid") Integer pEmpid);
T1
EMPID NAME DEPT
400 test DEV
T2
EMPID NAME DEPT
400 test2 TESTING
Expected result
EMPID NAME DEPT
400 test DEV
400 test2 TESTING
Но пружина jpa выдает результат, заданный как
EMPID NAME DEPT
400 test DEV
400 test DEV
субъект EMP
@Entity
@Table(name="EMP")
public class Emp {
@Id
@Column(name = "EMP_NO")
private int empNo;
@Column(name = "EMP_NAME")
private String empName;
@Column(name = "DEPT_NAME")
private String deptName;
}
Заранее спасибо.