[英]How do I get JSON data from two tables using joins in Hibernate?
select a.empname,b.dname from employee a, department b where a.deptid=b.deptid
員工表包含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 join,如果您有Employee和Department類,我們將使用由表插入的類。 您可以使用類似的查詢
select a.empname,b.dname from Employee as a left outer join Employee.department as b
其中empname,dname和department是Employee,Department和Employee類的字段。
上面的查詢將返回列表,您必須正確處理它。 然后將此列表轉換為json對象
可以通過三種方式進行
最佳使用:一對一映射。
參考: https : //github.com/Roshanmutha/hibernate-samples/blob/master/R6_One_To_One_Mapping/src/main/java/entity/User.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.