标题翻译
Spring Convert enity manager getResultList results to JSON
问题
以下是您提供的代码的翻译部分:
我对 Spring 还不太熟悉,我正在使用 Spring 的 `entitymanager.createquery` 来进行查询并从数据库获取结果。
所以在进行 HTTP GET 请求时,以下方法会执行,以获取所有病人的姓名:
public List<PatientModel> fetchallpatients() {
Query q = entityManager.createNativeQuery("select * from patient p ");
List<PatientModel> patientList = q.getResultList();
System.out.println(patientList);
return patientList;
}
它返回的结果如下:
> [[
> 1,
> "病人姓名",
> "病人电话",
> "病人性别",
> "病人保险",
> "病人年龄",
> "病人诊断",
> "病人附加需求",
> "病人EMR"
> ],
> [
> 2,
> "测试",
> "病人电话",
> "病人性别",
> "病人保险",
> "病人年龄",
> "病人诊断",
> "病人附加需求",
> "病人EMR"
> ],
> ...
> ]]
我在前端使用 React,我需要将这些数据格式化为 JSON 格式。
我有一个对应表格的 POJO 类:
package io.login.model;
import java.io.Serializable;
public class PatientModel implements Serializable {
String patientname;
String patientage;
String patientgender;
String patientinsurance;
String patientphone;
String patientaddreq;
String patientemr;
public String getPatientname() {
return patientname;
}
// 其他 getter 和 setter 方法...
String patientdiagnosis;
public PatientModel(String patientname, String patientage, String patientgender, String patientinsurance, String patientphone, String patientdiagnosis, String patientaddreq, String patientemr) {
this.patientname = patientname;
this.patientage = patientage;
this.patientgender = patientgender;
this.patientinsurance = patientinsurance;
this.patientphone = patientphone;
this.patientdiagnosis = patientdiagnosis;
this.patientaddreq = patientaddreq;
this.patientemr = patientemr;
}
}
不过需要注意,您提供的代码片段中存在一些 HTML 编码,比如 "
表示双引号,这些在翻译后可能会影响代码的准确性。如果您希望进行编码的转换,请在代码中进行处理。
英文翻译
I'm quite new to spring and I'm using spring entitymanager.createquery
to make query and get the result from database.
So when make a http get this method executes to get all the patient name
public List<PatientModel> fetchallpatients (){
Query q = entityManager.createNativeQuery("select * from patient p ");
List <PatientModel> patientList=q.getResultList();
System.out.println(patientList);
return patientList;
}
it is returning
> [[
> 1,
> "patientname",
> "patientphone",
> "patientgender",
> "patientinsurance",
> "patientage",
> "patientdiagnosis",
> "patientaddreq",
> "patientemr"
> ],
> [
> 2,
> "test",
> "patientphone",
> "patientgender",
> "patientinsurance",
> "patientage",
> "patientdiagnosis",
> "patientaddreq",
> "patientemr"
> ],
> [
> 3,
> "react",
> "12312",
> "male",
> "react",
> "56",
> "dsa",
> "ads",
> "das"
> ],
> [
> 4,
> "sign",
> "asd",
> "male",
> "react",
> "56",
> "Diagnose 2",
> "Ventilator",
> "on"
> ],
> [
> 5,
> "good",
> "3213",
> "male",
> "react",
> "56",
> "Diagnose 3",
> "ICU",
> "on"
> ] ]
Front end I'm using react and I need this data to be in JSON format.
I have a POJO class for corresponding table:
package io.login.model;
import java.io.Serializable;
public class PatientModel {
String patientname;
String patientage;
String patientgender;
String patientinsurance;
String patientphone;
String patientaddreq;
String patientemr;
public String getPatientname() {
return patientname;
}
public void setPatientname(String patientname) {
this.patientname = patientname;
}
public String getPatientage() {
return patientage;
}
public void setPatientage(String patientage) {
this.patientage = patientage;
}
public String getPatientgender() {
return patientgender;
}
public void setPatientgender(String patientgender) {
this.patientgender = patientgender;
}
public String getPatientinsurance() {
return patientinsurance;
}
public void setPatientinsurance(String patientinsurance) {
this.patientinsurance = patientinsurance;
}
public String getPatientphone() {
return patientphone;
}
public void setPatientphone(String patientphone) {
this.patientphone = patientphone;
}
public String getPatientdiagnosis() {
return patientdiagnosis;
}
public void setPatientdiagnosis(String patientdiagnosis) {
this.patientdiagnosis = patientdiagnosis;
}
public String getPatientaddreq() {
return patientaddreq;
}
public void setPatientaddreq(String patientaddreq) {
this.patientaddreq = patientaddreq;
}
public String getPatientemr() {
return patientemr;
}
public void setPatientemr(String patientemr) {
this.patientemr = patientemr;
}
String patientdiagnosis;
public PatientModel(String patientname, String patientage, String patientgender, String patientinsurance, String patientphone, String patientdiagnosis, String patientaddreq, String patientemr) {
this.patientname = patientname;
this.patientage = patientage;
this.patientgender = patientgender;
this.patientinsurance = patientinsurance;
this.patientphone = patientphone;
this.patientdiagnosis = patientdiagnosis;
this.patientaddreq = patientaddreq;
this.patientemr = patientemr;
}
}
But I need the result like
{ { "patientname":"xyz"
"patientphone":"xyz"
"patientinsurance":"xyz"
"patientgender":"xyz"
"patientdiagnosis":"xyz"
"patientaddreq":"xyz" ... so on
}
}
答案1
得分: 0
你正在返回 List<String[]>
,并期望它是你的 POJO 的 JSON 列表?
将你的方法更改为返回预期的内容,如下所示:
@Transactional
public List<PatientModel> fetchAllPatients() {
Query q = entityManager.createNativeQuery("select * from patient p ");
List<PatientModel> patientList = q.getResultList();
System.out.println(patientList);
return patientList;
}
英文翻译
you are returning List<String[]>
and expect it to be a JSON list of your POJO?
change your method to return what is expected, like:
@Transactional
public List<PatientModel> fetchallpatients () {
Query q = entityManager.createNativeQuery("select * from patient p ");
List <PatientModel> patientList = q.getResultList();
System.out.println(patientList);
return patientList;
}
专注分享java语言的经验与见解,让所有开发者获益!
评论