我在spring mvc中配置json转换 controller中的对象的时候,如果是 hibernate 懒加载的对象就会出现 session已经关闭的错误,因为事物是在service层,查了一些解决办法如下:
1.在web.xml中加入OpenSessionInViewFilter ,这样的话session其实是未关闭的,前台页面如果调用get方法还是会去请求数据库 不能这样做啊
2.在实体bean的set属性上添加jsonignore ,这样虽然不会报错,但是在任何请查询结果中前台只能得到主对象了 ,这样还是不行 果断不能这样做
放弃lazy load 更不能这样做了
网上提出这个问题 的人很多但是我觉得以上解决办法都不好或者是不能满足需求
求大牛帮忙解决。。。。。
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
Cubalah
jackson
.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.