Допустим, у меня есть два объекта User. java и Topi c. java
@Entity
@Table(name="T_USR")
@Getter
@Setter
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="USR_ID", updatable=false, nullable=false)
private Long userId;
@Column(name="FST_NM", nullable=false)
private String firstName;
@Column(name="LST_NM")
private String lastName;
@Column(name="EMAIL")
private String email;
@Column(name="CREATED_DT")
@CreationTimestamp
private Date createdDate;
@ManyToMany
@JoinTable(name="T_USR_TOPIC",
joinColumns= { @JoinColumn(name="USER_ID") },
inverseJoinColumns= { @JoinColumn(name="TOPIC_ID") })
private Set<Topic> topics;
}
@Entity
@Table(name="T_TOPIC")
@Getter
@Setter
public class Topic {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="TOPIC_ID",updatable=false, nullable=false)
private Long topicId;
@Column(name="TOPIC_TAG")
private String topicName;
@Column(name="TOPIC_DS")
private String topicDesc;
@ManyToMany(mappedBy="topics")
private Set<User> users;
}
У меня уже есть несколько записей в таблице T_TOPI C, скажем TOPIC_ID | TOPIC_DS | TOPIC_TAG 1 | UI | Angular 2 | Java | весна
Я хочу зарегистрировать нового пользователя. Но как сформировать тело JSON? Должно ли это быть похоже на
{
"firstName": "Myname",
"lastName": "LastName",
"email": "example@example.com",
"interests": [1,2]
}
Объект запроса.
@Getter
@Setter
public class UserRequest {
@NotBlank
@JsonProperty
private String firstName;
@Email
@NotBlank
@JsonProperty
private String lastName;
@NotBlank
@JsonProperty
private String email;
@JsonProperty("interests")
Set<Long> topics;
}
Также, стоит ли использовать двунаправленное отображение ManyToMany?