Cześć!
Robię niewielki projekt przy użyciu SpringMVC i Hibernate.
Aktualnie robię prosty widok strony "Spotkanie". 2 pola tekstowe + lista użytkowników pobrana z bazy.
I tu mam mały problem.
Na stronie widoku wrzucam sobie:
<form:checkboxes path="users" items="${userSet}" itemLabel="name" />
Przez kontroler wysyłam userSet który zawiera listę możliwych osób. I to śmiga.
Jeśli nie zaznaczę żadnego checkboxa (tylko wpiszę w pola tekstowe tytuł i datę spotkania) bez problemu wrzuci do bazy.
Jak tylko zaznaczę przynajmniej 1 checkbox, od razu wyrzuca błąd:
The request sent by the client was syntactically incorrect.
Pomyślałem sobie że problem może leżeć w polu który przyjmuje te dane.
@ManyToMany(fetch = FetchType.EAGER,cascade = CascadeType.ALL)
@JoinTable(name = "MEETING_USER", joinColumns = {@JoinColumn(name = "MEETING_ID")},inverseJoinColumns = {@JoinColumn(name = "USER_ID")})
private Set<User> users = new HashSet<User>();
Aby sprawdzić czy to wina Set'a, dodałem dodatkowe pole List typu User. Wysypywało się dalej. Ale kiedy utworzyłem Listę typu Object, wszystko gra.
Problem w tym że przyjmowanie listy typu Object (dodatkowo okraszone adnotacją
@Transient
) zmusza mnie później do cudowania żeby w kontrolerze przerobić to na seta i typu User. Bezsensu.
Ktoś może ma pomysł dlaczego mój standardowy Set<User> się krzaczy?
Pozdrawiam