select a.empname,b.dname from employee a, department b where a.deptid=b.deptid
如何在Hibernate中使用連接從兩個表中獲取JSON數據?
Employee表包含empid,empname
& deptid
系表包含deptid
& dname
select a.empname,b.dname from employee a, department b where a.deptid=b.deptid
如何在Hibernate中使用連接從兩個表中獲取JSON數據?
Employee表包含empid,empname
& deptid
系表包含deptid
& dname
我希望這有助於。您需要一個DTO來存儲數據並將其作爲JSON發送到前端。
@Query("new com.example.service.model.search.SearchDTO"
+"(e.empname, d.dname) "
+ "from department d "
+ "join d.deptid e "
+ "where e.id=?1")
public List<SearchDTO> findByIdEmployee (Long idEmployee);
可能DTO結構:
public class SearchDTO {
String EnpName;
String DepName;
public SearchDTO(String EnpName, String DepName) {
this.EnpName = EnpName;
this.DepName = DepName;
}
public String getEnpName() {
return EnpName;
}
public void setEnpName(String EnpName) {
this.EnpName = EnpName;
}
public String getDepName() {
return DepName;
}
public void setDepName(String DepName) {
this.DepName = DepName;
}
}
有在HQL一些變化加入。 對於hql連接,如果您有Employee和Department類,則我們使用表 中的classess。 您可以使用查詢像
select a.empname,b.dname from Employee as a left outer join Employee.department as b
其中empname,DNAME和部門是員工,部門和員工類的字段。
上面的查詢將返回列表你必須正確處理它。 那麼這個列表轉換成JSON對象
有三種方法可以做到,
最好用的:一對一映射。
[?休眠連接兩個表,並獲取所有記錄(的可能的複製https://stackoverflow.com/questions/31509568/hibernate-joining-two-table-and-fetch-all -記錄) – Aaku