java - SpringMvc+Hibernate中懒加载 json的对象的加载问题
PHP中文网
PHP中文网 2017-04-17 17:57:54
0
5
405

我在spring mvc中配置json转换 controller中的对象的时候,如果是 hibernate 懒加载的对象就会出现 session已经关闭的错误,因为事物是在service层,查了一些解决办法如下:

1.在web.xml中加入OpenSessionInViewFilter ,这样的话session其实是未关闭的,前台页面如果调用get方法还是会去请求数据库 不能这样做啊

2.在实体bean的set属性上添加jsonignore ,这样虽然不会报错,但是在任何请查询结果中前台只能得到主对象了 ,这样还是不行 果断不能这样做

  1. 放弃lazy load 更不能这样做了

网上提出这个问题 的人很多但是我觉得以上解决办法都不好或者是不能满足需求

求大牛帮忙解决。。。。。

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(5)
伊谢尔伦

Saya tidak tahu pakej yang anda gunakan untuk json Jika ia adalah fastjson, anda boleh menambah parameter pada kaedah menukar objek json Ia akan sentiasa menanyakan atribut subkelas

小葫芦

JSONObject jos = JSONObject.fromObject(obj);
JSONArray jo = JSONArray.fromObject(ob);

Pakej JAR net.sf.json

Saya tidak tahu sama ada anda mahu menukar seperti ini

大家讲道理

Lihat API kaedah Hibernate.initialize(Class<?> clazz) Anda boleh menemui DEMO pada enjin carian saya harap ia akan membantu anda

阿神

Cubalahjackson.

Ty80

Saya juga pernah mengalami masalah ini. Selepas membuat pertanyaan dalam lapisan perkhidmatan, senarai objek akan dikembalikan, yang akan ditukar kepada Json dalam lapisan pengawal Ini akan mengakibatkan ralat: sesi telah ditutup. Selepas saya menemui senarai objek dalam lapisan perkhidmatan, saya melakukan penukaran Json, tetapi senarai objek masih dikembalikan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan