سؤال

لدي كيان مع ثنائي العلاقة التي يتم جلب بتكاسل:

@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 مقابض التسلسل من السبات الأشياء على نحو أفضل, ولكن بالطبع فقد المراوغات الخاصة ، لذلك الأميال الخاص بك قد تختلف.

نصائح أخرى

فصل الكيانات من السبات ثم تسلسل لهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top