Tutaj link do błędów, bo przy tak długich forum się wiesza.
java.lang.StackOverflowError: null
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_121]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_121]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_121]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) ~[na:1.8.0_121]
at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_121]
at java.net.URLClassLoader$1.run(URLClassLoader.java:368) ~[na:1.8.0_121]
at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[na:1.8.0_121]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_121]
at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[na:1.8.0_121]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_121]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_121]
http://wklej.org/id/3045067/
Osoba:
@JsonIgnore
@ManyToMany
private Set<Jezyk> jezyki = new HashSet<>();
Język:
@ManyToMany(mappedBy = "jezyki")
private Set<Osoba> osoby = new HashSet<>();
Wcześniej miałem mappedBy po drugiej stronie, ale wtedy jak zapisywałem Usera do bazy z ustawioną listą to relacja się nie zapisywała (tzn. nie było w tabeli łączącej odpowiednich wpisów. Teraz się wszystko zapisuje ok.
Mam przygotowany formularz do dawania osoby, w nim się wyświetlają również wcześniej zapisane języki już w bazie. Przy dodawaniu nowej osoby, ładuję najpierw listę języków z bazy. Teraz po stronie Javy dostaję obiekt użytkownika z jego polami i idki języków, w serwisie odpowiednio odszukuję te języki z bazy i dodaje do listy języków osoby. I chodzi o to, że załaduje stronę i nawet nie musze klikać zapisz i już dostaję ten błąd. Z JsonIgnore wszystko działa, tak jak powinno.