【发布时间】:2014-01-24 21:28:30
【问题描述】:
我遇到的问题是,如果我在 DAO 中修改或过滤查询,那么 JSON 结果不会出现,否则它可以工作。但我需要过滤查询。所有细节是:
表格详情:地址(addressID, road, state, code)
实体模型(Address.java):
@Entity
public class Address(){
@Id
int addressID;
String code;
//getter + setter methods
}
我只需要addressID和code,只有这两个字段。所以,我只映射了这两个,不需要其他字段。
动作类(JSONData.java):
public class JSONData extends ActionSupport{
private List<Address> address;
//getter, setter
public String jsonFormatDate() {
AddressDAO dao = new AddressDAO();
address = dao.listOfAllAddresses();
return SUCCESS;
}
}
DAO 类(AddressDAO.java):
public class AddressDAO{
public List<Address> listOfAllAddresses() {
.....
List list = s.createQuery("from Address").list();
.....
return list;
}
}
如果我使用查询 "from Address",那么 JSON 输出是成功的,我可以轻松地使用该结果来呈现 JSP 页面。
但是如果我像"select a.addressID, a.code from Address a" 这样修改查询和过滤器,则没有 JSON 输出。此外,如果我还使用 where 子句,则没有 JSON 输出。如果我运行这个表单 DAO 层,查询会执行正确的输出。但不是来自 JSON。
使用一些过滤规则获取 JSON 输出需要包含哪些内容。
【问题讨论】:
标签: java json hibernate jsp struts2