десериализация jackson v2

Спасибо за комментарии Roman C и Nowhere Man, постараюсь изложить свою проблему согласно вашим советам:

В моем проекте, есть 2 сущности:

@Entity
@Table(name = "users")
public class User implements UserDetails {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@Column(name = "username")
private String username;

@Column(name = "password")
private String password;

@Column(name = "email")
private String email;

@JsonManagedReference
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
        name = "users_roles",
        joinColumns = @JoinColumn(name = "user_id"),
        inverseJoinColumns = @JoinColumn(name = "role_id")
)
private Set<Role> roles;

public User() {
}
// геттеры/сеттеры + переопределенные методы UserDetails 
}

А так-же сущность:

@Entity
@Table(name = "roles")
public class Role implements GrantedAuthority {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;

@Enumerated(EnumType.STRING)
@Column(name = "name_role")
private UserRole userRole;

@JsonBackReference
@ManyToMany(mappedBy = "roles", fetch = FetchType.EAGER)
private Set<User> users;

public Role() {
}
// геттеры/сеттеры
@Override
public String getAuthority() {
    return getUserRole();
}

Так-же в свойства класса Role входит поле UserRole типа Enum (Реализацию менять не хочу, пробую именно с enum)

public enum UserRole {
ROLE_USER,
ROLE_ADMIN;
}

Основная проблема заключается в десериализации JSON, при создание новой сущности User на стороне клиента, выбрасывет:

Failed to evaluate Jackson deserialization for type [[simple type, class com.example.demo.entity.User]

Возможно проблема в том что, JSON не содержит коллекции типа Set. Но разобраться самостоятельно, с данной проблемой не могу.

В List'e хранить роли не хочу, т.к. избегаю хранения дубликатов. Реализовать DTO тоже не планирую.


Ответы (0 шт):