Struts2 سلمان المساعد لا يعمل مع "كسول" البيانات
-
22-07-2019 - |
سؤال
لدي كيان مع ثنائي العلاقة التي يتم جلب بتكاسل:
@Entity
public class Person {
@Id
private Integer id;
@Column(length=60)
private String address;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="idProvince")
private Province province;
}
هذا هو الاختبار أفعل ، في محاولة للحصول على جميع الكيانات و تسلسل لهم كما JSON باستخدام JSONUtil الدرجة في JSONPlugin (الرسمية سلمان المساعد الدعامات 2):
List<Person> people = personService.findAll();
String result = JSONUtil.serialize(people);
System.out.println(result);
و هذا هو الاستثناء أحصل على (نفس الاستثناء عند استخدام هذا البرنامج المساعد مع Struts2 العمل @سلمان الشرح):
com.googlecode.jsonplugin.JSONException: java.lang.IllegalAccessException:
Class com.googlecode.jsonplugin.JSONWriter can not access a member of class
org.postgresql.jdbc4.AbstractJdbc4Statement with modifiers "public"
at com.googlecode.jsonplugin.JSONWriter.bean(JSONWriter.java:237)
at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:159)
at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:125)
at com.googlecode.jsonplugin.JSONWriter.array(JSONWriter.java:407)
at com.googlecode.jsonplugin.JSONWriter.process(JSONWriter.java:149)
at com.googlecode.jsonplugin.JSONWriter.value(JSONWriter.java:125)
at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:93)
at com.googlecode.jsonplugin.JSONWriter.write(JSONWriter.java:76)
at com.googlecode.jsonplugin.JSONUtil.serialize(JSONUtil.java:62)
...
أنا باستخدام السبات نفس القانون أعلاه يعمل عند تغيير الجلب=FetchType.حريصة.أعتقد تحميل كسول يولد الوكيل-كائن, و أن يجعل من الفشل.
سؤالي هو : هل من الممكن أن تسلسل الكائنات التي تحتوي على بتكاسل محملة السمات ؟
المحلول
كان عندي نفس المشكلة أثناء استخدام سلمان ليب و هو في الواقع لأن الهدف هو الوكيل.
وجدت جوجل-Gson مقابض التسلسل من السبات الأشياء على نحو أفضل, ولكن بالطبع فقد المراوغات الخاصة ، لذلك الأميال الخاص بك قد تختلف.
نصائح أخرى
فصل الكيانات من السبات ثم تسلسل لهم.