Я использую рамки игры в Java (ebean мой ОРМ), и у меня есть этот класс:Gson.toJson Stackoverflow ошибка
@Entity
@Table(name = "reservation")
public class Reservation extends Model implements Validation {
@Id
@Column(name = "reservationId", columnDefinition = "BIGINT")
@GeneratedValue(strategy = GenerationType.AUTO)
@JsonIgnore
private long reservationId;
@Column(name = "restaurantId", columnDefinition = "BIGINT")
private long restaurantId;
@Column(name = "dateTime" , columnDefinition = "DATETIME")
@JsonFormat(pattern = "dd/mm/yyyy HH:mm:ss")
@Formats.DateTime(pattern = "dd/mm/yyyy HH:mm:ss")
private Timestamp dateTime;
@Column(name = "guestCount")
private int guestCount;
@Column(length = 300)
private String note;
public static Reservation.Finder<String, Reservation> find = new Model.Finder<String, Reservation>(String.class, Reservation.class);
и я пытаюсь его сериализация с использованием библиотеки Gson. Я пытался сделать это
return new Gson().toJson(Reservation.find.where().eq("reservationId", id).findUnique(););
, но я всегда получаю эту ошибку:
akka.actor.ActorSystemImpl - Uncaught fatal error from thread [application-akka.actor.default-dispatcher-2] shutting down ActorSystem [application]
java.lang.StackOverflowError: null
at java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:684) ~[na:1.8.0_71]
at java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:146) ~[na:1.8.0_71]
at sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85) ~[na:1.8.0_71]
at java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:359) ~[na:1.8.0_71]
at java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:335) ~[na:1.8.0_71]
at java.util.Calendar.getDisplayName(Calendar.java:2110) ~[na:1.8.0_71]
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1125) ~[na:1.8.0_71]
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966) ~[na:1.8.0_71]
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936) ~[na:1.8.0_71]
at java.text.DateFormat.format(DateFormat.java:345) ~[na:1.8.0_71]
at com.google.gson.internal.bind.DateTypeAdapter.write(DateTypeAdapter.java:83) ~[gson-2.5.jar:na]
at com.google.gson.internal.bind.DateTypeAdapter.write(DateTypeAdapter.java:41) ~[gson-2.5.jar:na]
at com.google.gson.internal.bind.TypeAdapters$26$1.write(TypeAdapters.java:607) ~[gson-2.5.jar:na]
at com.google.gson.internal.bind.TypeAdapters$26$1.write(TypeAdapters.java:600) ~[gson-2.5.jar:na]
Я читал много об этом, и я понимаю, что это может быть, что бесконечный цикл где-то в то время как сериализации Reservation объект, но поскольку объект не имеет никакого отношения к какому-либо другому классу, я не понимаю, почему это происходит.