私は2つのクラスがあります
@Entity
@Table(name = "user")
public class User
@Id
@Column(name = "id")
@GeneratedValue
private int id;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
@Cascade({CascadeType.ALL})
private Collection<Book> userBooks;
}
@Entity
@Table(name = "books")
public class Book
@Id
@Column(name = "id")
@GeneratedValue
private int id;
@ManyToOne
private User user;
}
ここにもう少しコードがあります:
User user = new User(); user.setUserName("Gleeb"); user.setUserPassword("gleeb");
Book book = new Book();
book.setTitle("some book ");
book.setbookType(1);
user.addUserbook(book);
userService.save(user);
新しいユーザーを作成して、それに新しい本を追加しようとしています。ユーザーを保存するとき
session.saveOrUpdate(user);
ユーザーが保存され、ブックが保存されますが、ブックテーブルではuser_idが設定されていません。そしてNULLのままになります。
何故ですか。
ありがとう。