1
私は2つのテーブル、ユーザーと投稿を持っています。また@OneToMany双方向関係が正しく動作しない
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
@NotNull
@Column(name = "username",nullable = false,unique = true)
private String username;
@Basic
@NotNull
private String password;
@OneToOne
@NotNull
@JoinColumn(name = "picture_id")
private Picture profilePicture;
@ManyToMany
@JoinTable(name = "followers_users",
joinColumns = @JoinColumn(name = "id"),
inverseJoinColumns = @JoinColumn(name = "follower_id"))
private Set<User> followers;
@ManyToMany(mappedBy = "followers", fetch = FetchType.EAGER)
private Set<User> following;
@OneToMany(mappedBy = "user",cascade = CascadeType.PERSIST)
private Set<Post> posts = new HashSet<>();
@OneToMany(mappedBy = "user")
private Set<Comment> comments;
...
と::彼らはManyToOne/OneToManyとリンクされている
@Entity
@Table(name = "posts")
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotNull
@Basic
private String caption;
@NotNull
@ManyToOne
@JoinColumn(name = "user_id",referencedColumnName = "id")
private User user;
@NotNull
@ManyToOne
@JoinColumn(name = "picture_id")
private Picture picture;
@OneToMany(mappedBy = "post")
private Set<Comment> comments;
...
私は、ユーザーの新しいポストを持続
、user.posts空です。これは私が期待するものではありません。私は、新しい投稿が追加されたときにこれが自動的に更新されると考えています。