json 返回 持久化对象 hibernate 设置了赖加载

望舒 2011-11-22 11:05:36
我返回一个持久化实体 因为设置了延迟加载 ,所以返回到前台后 有的2级属性没有
因为代码很多不想修改配置文件
而且也不想在service 把需要的属性取出 放到DTO中再返回前台(配了OnpenSessioninView) 因为实在太他妈的多了
json转换工具 用的是 Gson 各位有没有什么好办法
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iamagril 2011-11-29
  • 打赏
  • 举报
回复
我们用的是flexJson,听说好用,可以试试
望舒 2011-11-29
  • 打赏
  • 举报
回复
还有更好的方法不
打油的程序员 2011-11-23
  • 打赏
  • 举报
回复
直接用JDBC:




public String selectSingleLineToJson(String sql) {// 查询数据,返回String,再组合成json
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
ResultSetMetaData rsmd = resultSet.getMetaData();// 计算字段个数
int col = rsmd.getColumnCount(); // 获得总列数
String selectItems[] = new String[col];// 创建对象,存储结果,以返回
resultSet.next();
StringBuilder sb = new StringBuilder("{");
for (int j = 0; j < col; j++)
sb.append("\"" + rsmd.getColumnName(j + 1) + "\":\""
+ resultSet.getString(j + 1) + "\",");
sb.delete(sb.length() - 1, sb.length());
sb.append("}");
resultSet.close();
return sb.toString();
} catch (SQLException e) {
e.printStackTrace();
}
return "{\"flag\":\"false\"}";// 出错处理
}

public String selectMultiLineToJson(String sql) {// 查询数据,返回多个String数组,再组合成json数组
try {
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
ResultSetMetaData rsmd = resultSet.getMetaData();//
int col = rsmd.getColumnCount(); // 获得总列数
StringBuilder sb = new StringBuilder("[");
for (int i = 0; resultSet.next(); i++) {

sb.append("{");
for (int j = 0; j < col; j++)
sb.append("\"" + rsmd.getColumnName(j + 1) + "\":\""
+ resultSet.getString(j + 1) + "\",");
sb.delete(sb.length() - 1, sb.length());
sb.append("},");
}
sb.delete(sb.length() - 1, sb.length());
if (sb.toString().equals(""))
return "[{\"flag\":\"false\"}]";// 结果为空,出错处理;
sb.append("]");
resultSet.close();
//System.out.println(sb.toString());
return sb.toString();
} catch (SQLException e) {
e.printStackTrace();
}
return "[{\"flag\":\"false\"}]";// 出错处理
}




healer_kx 2011-11-23
  • 打赏
  • 举报
回复
gson可能是最好的了,毕竟是google搞得吗。

持久化的时候,直接持久化json字符串不久得了,Parse是个很快的过程。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧