Saya memiliki masalah di SpringMVC RestController
saya yang menulis hasil JSON:
1) Saat saya mengembalikan objek domain seperti di bawah ini, AktivitasT, saya mendapatkan Kesalahan Server Internal AJAX 500 di sisi klien.
@RequestMapping("/participant/activityForEvent")
public ActivitiesT getActivityForGuiEventId() throws Exception {
ActivitiesT activitiesT = participantService.getActivity();
return activitiesT;
}
Objek Domain ActivityT, yang dihasilkan oleh Hiberate:
@Entity
@Table(name = "activities_t", schema = "public")
public class ActivitiesT implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
//... etc...
}
2) Namun ketika saya mengembalikan POJO khusus, metode AJAX berfungsi. Hampir sama.
@RequestMapping("/participant/activityForEvent")
public ActivitiesT getActivityForGuiEventId() throws Exception {
ActivitiesT activitiesT = participantService.getActivity();
// Create a custom Activity POJO and return it
return new Activity(activitiesT.id, activitiesT.title);
}
POJO kustom aktivitas:
public class Activity implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
public int id;
public String title;
//etc.
PESAN KESALAHAN
HTTP Status 500 - Could not write JSON: could not initialize proxy - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy -
tidak ada Sesi (melalui rantai referensi: com.myapp")
Beberapa hal yang perlu diperhatikan:
- Kedua objek mengimplementasikan
Serializable
, tidak apa-apa - Masalahnya bukan pada DAO, saya dapat melihat DAO selalu mengembalikan data yang benar untuk keduanya, kita dapat mengabaikan bagian DAO
- Pengontrol dianotasi dengan
@RestController
, sehingga selalu mengeluarkan JSON; Saya tidak memerlukan ResponseBody atau tag lama
Adakah pemikiran tentang di mana letak masalahnya? Masalahnya bermuara pada ini:
- Saya tidak dapat mengembalikan JSON dari metode RestController pada @Entity POJO yang dihasilkan Hibernate,
- Tapi saya bisa mengembalikan JSON dari metode RestController di POJO khusus saya sendiri
500 Internal Server Error
)? - person lzagkaretos   schedule 18.12.2017ActivitiesT
adalah objek sederhana atau kompleks (hanya menebak) di mana semacam Pengecualian dilemparkan setelah Pengontrol mengembalikan nilainya. - person lzagkaretos   schedule 18.12.2017HTTP Status 500 - Could not write JSON: could not initialize proxy - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy - no Session (through reference chain: com.myapp")
- person gene b.   schedule 18.12.2017