0
MyController.java如何用日期參數在hibernate中調用存儲過程?
@RequestMapping(value = "/ohlc",method = RequestMethod.POST)
public @ResponseBody List<OhlcResponse> getOhlc(@RequestBody OhlcRequest ohlcRequest) {
List<OhlcResponse> ohlc = ohlcService.getOhlc(ohlcRequest);
return ohlc;
}
OhlcDaoImpl.java
Query query = session.createSQLQuery(
"CALL uspGetOhlcData(:stockCode,:fromDate,:toDate)")
.addEntity(OhlcResponse.class)
.setParameter("stockCode", ohlcRequest.getStockSymbol())
.setParameter("fromDate",ohlcRequest.getFromDate())
.setParameter("toDate", ohlcRequest.getToDate());
List<OhlcResponse> list = query.list();
return list;
}
OhlcResponse.java
public class OhlcResponse {
private int Id;
private BigDecimal MaxPrice;
private BigDecimal MinPrice;
private BigDecimal PreviousClosingPrice;
private BigDecimal ClosingPrice;
public BigDecimal getMaxPrice() {
return MaxPrice;
}
public void setMaxPrice(BigDecimal maxPrice) {
MaxPrice = maxPrice;
}
public BigDecimal getMinPrice() {
return MinPrice;
}
public void setMinPrice(BigDecimal minPrice) {
MinPrice = minPrice;
}
public BigDecimal getPreviousClosingPrice() {
return PreviousClosingPrice;
}
public void setPreviousClosingPrice(BigDecimal previousClosingPrice) {
PreviousClosingPrice = previousClosingPrice;
}
public BigDecimal getClosingPrice() {
return ClosingPrice;
}
public void setClosingPrice(BigDecimal closingPrice) {
ClosingPrice = closingPrice;
}
存儲過程:uspGetOhlcData
CREATE PROCEDURE uspGetOhlcData
@StockSymbol varchar(50),
@fromDate date,
@toDate date
AS
BEGIN
SELECT spd.ClosingPrice, spd.PreviousClosingPrice, spd.MinPrice, spd.MaxPrice
FROM StockPriceDetl spd
inner join Stock stk on stk.Id = spd.StockId
inner join StockPriceMast spm on spm.Id = spd.MastId
WHERE stk.StockSymbol= @StockSymbol AND spm.TranDate Between @fromDate and @toDate
END
GO
,你可以看到我的存儲過程返回maxprice,minprice,previousClosingPrice和ClosingPrice。我想以json形式返回這4個數據,將它們綁定到ohlcResponse類中。
目前我得到的錯誤是@PO
感謝您的快速響應。現在它說 HTTP狀態500 - 請求處理失敗;嵌套的異常是org.hibernate.MappingException:未知的實體:com.infodev.models.OhlcResponse – sagar
那麼你必須使用'@ Entity'註釋'OhlcResponse'類或者將它列在你的xml映射中(取決於你使用哪種方法使用)。 – coladict