如何使用可嵌入对象添加一对一关系

时间:2018-07-17 06:45:18

标签: spring spring-mvc jpa spring-data-jpa

要求:

要获取请求列表以及请求反馈状态。

我现在正在做什么: 使用JPQL查询获取所有请求。遍历每个请求并获取状态,并将其设置为响应dto。

我想做什么。 使用JPQl查询获取所有请求以及状态

我正在寻找什么:

如何为请求和状态添加一对一映射,以便获取状态。

示例代码

这是MSREQUEST实体

@Entity
@Table(name = "MSREQUEST")
public class Request implements Serializable {

    @Id 
    private long requestId;

    @Column(name = "DESC")
    private string desc;

    //getter.. setter...tostring and hashcode

}

这是状态实体

@Entity
@Table(name="FEEDBACKSTATUS")
public class FeedbackStatus implements Serializable {

    // composite-id key
    @EmbeddedId
    private RequestFeedBackId requestFeedbackKey = new RequestFeedBackId();

    @Column(name="STATUS")
    private Long status;

    //getter.. setter...tostring and hashcode

}

这是可嵌入的实体

@Embeddable
public class RequestFeedBackId implements Serializable {

    @Column(name="REQUESTID")
    private Long  requestId;

    @Column(name="FEEDBACKID")
    private Long feedbackId;


}

服务

@Override
public List<MsaRequestSearchDto> searchMsaRequests(MsaRequestSearchDto msaRequestSearchDto)
        throws MsaException, Exception {
    List<MsaRequestSearchDto> msaRequestSearchDtoList = msaRequestRepoCustom.findMsaRequests(msaRequestSearchDto);

    *// get feedback status loop thru and fetch status for each one. nee to avoid this
    if(msaRequestSearchDtoList != null && msaRequestSearchDtoList.size() > 0){
        // code to fetch dstatus
    }*/
    return msaRequestSearchDtoList;
}

我正在使用的JPQL查询。

public String GET_MSA_REQUEST = "SELECT dsr FROM Request dsr  WHERE 1=1";

E-R enter image description here

0 个答案:

没有答案