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