Java 如何以json格式返回hibernate查询选择的值?
我这里的问题是如何以json格式返回从hibernate查询中选择的值 BankController.javaJava 如何以json格式返回hibernate查询选择的值?,java,Java,我这里的问题是如何以json格式返回从hibernate查询中选择的值 BankController.java @RequestMapping(value = "/getohlcall", method = RequestMethod.POST) public @ResponseBody List<Trading_Data> getOhlcAll(@RequestBody OhlcRequest ohlcRequest) { List<Trading_Data>
@RequestMapping(value = "/getohlcall", method = RequestMethod.POST)
public @ResponseBody List<Trading_Data> getOhlcAll(@RequestBody OhlcRequest ohlcRequest) {
List<Trading_Data> list;
list = bankServices.getOhlc(ohlcRequest);
return list;
}
public List<Trading_Data> getOhlc(OhlcRequest ohlcRequest){
sessionFactory.openSession();
session=sessionFactory.openSession();
Criteria cr = session.createCriteria(Trading_Data.class)
.setProjection(Projections.projectionList()
.add(Projections.property("minPrice"), "minPrice")
.add(Projections.property("maxPrice"), "maxPrice")
.add(Projections.property("closingPrice"), "closingPrice")
.add(Projections.property("prevClosing"), "prevClosing"))
.setResultTransformer(Transformers.aliasToBean(Trading_Data.class));
List<Trading_Data> list = cr.list();
return list;
}
public class Trading_Data {
@Entity
@Table
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Trading_Data {
@Id
@Column
@JsonView(View.Summary.class)
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column
@JsonView(View.Summary.class)
private String stockCode;
@Column
private long maxPrice;
@Column
private long minPrice;
@Column
private long closingPrice;
@Column
private long prevClosing;
@Column
@JsonView(View.Summary.class)
private String eDate;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getStockCode() {
return stockCode;
}
public void setStockCode(String stockCode) {
this.stockCode = stockCode;
}
public long getMaxPrice() {
return maxPrice;
}
public void setMaxPrice(long maxPrice) {
this.maxPrice = maxPrice;
}
public long getMinPrice() {
return minPrice;
}
public void setMinPrice(long minPrice) {
this.minPrice = minPrice;
}
public long getClosingPrice() {
return closingPrice;
}
public void setClosingPrice(long closingPrice) {
this.closingPrice = closingPrice;
}
public long getPrevClosing() {
return prevClosing;
}
public void setPrevClosing(long prevClosing) {
this.prevClosing = prevClosing;
}
public String geteDate() {
return eDate;
}
public void seteDate(String eDate) {
this.eDate = eDate;
}
}
我目前得到的Json数据是
[
{
"id": 0,
"maxPrice": 54,
"minPrice": 58,
"closingPrice": 45,
"prevClosing": 215
}
]
正如您所看到的,我不需要这个api的id,但我可能需要其他api的id
我的问题是:-
尝试在资源方法中使用“products”。像这样:
@RequestMapping(value = "/getohlcall", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody List<Trading_Data> getOhlcAll(@RequestBody OhlcRequest ohlcRequest) {
List<Trading_Data> list;
list = bankServices.getOhlc(ohlcRequest);
return list;
}
@RequestMapping(value=“/getohlcall”,method=RequestMethod.POST,products=MediaType.APPLICATION\u JSON\u value)
public@ResponseBody List getOhlcAll(@RequestBody-OhlcRequest-OhlcRequest){
名单;
list=bankServices.getOhlc(OHLCLRequest);
退货清单;
}
您有很多选择,我使用的是gson。我返回我的实体对象,然后将其转换为业务对象,然后使用gson.toJson(object)以JSOND的形式发送。是否有任何工作示例?您需要将gson添加为依赖项,然后在控制器的返回中需要gson.toJson(list);