У меня есть две разные сущности, пользователь приложения и пост. Они отображаются в отношениях onetomany / manytoone.
Когда я создаю новое сообщение, я бы хотел, чтобы пользователь, создавший сообщение, был связан с ним.
В настоящее время я пытаюсь выполнить следующее:
@RequestMapping(method = RequestMethod.POST, value = "/api/users/posts")
@ResponseBody
Post newPost (@RequestBody Post newPost) {
ApplicationUser applicationUser = applicationUserRepository.findByUsername(newPost.getUsername());
newPost.setUser(applicationUser);
applicationUser.addPost(newPost);
applicationUserRepository.save(applicationUser);
return this.postRepository.save(newPost);
}
Пользователь приложения выглядит следующим образом:
@Entity
public class ApplicationUser {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
...
@OneToMany(
cascade = CascadeType.ALL,
orphanRemoval = true
)
@JsonManagedReference
private Set<Post> posts;
...
и сообщение:
@Entity
public class Post {
private @Id
@GeneratedValue
Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn
@JsonBackReference
private ApplicationUser user;
private String username;
...
В настоящее время сообщение создано, но нет связи между приложением Пользователь и сообщение.
Заранее спасибо.