私が持っている3つのpojoを取得し、Hibernateの機能を使用して、それらに一致するテーブルをデータベースに生成したいと思います。クラスは、映画、評価者、評価です。これが映画です。評価者は、評価のリストが接続されているのと実質的に同じです。
public class Movie{
@Id
@GeneratedValue(generator = "IdGenerator", strategy = Generation Type.TABLE)
@TableGenerator(name = "IdGenerator",
pkColumnValue = "movieId")
private long id;
private String name;
@OneToMany(mappedBy = "id.rater")
private List<Rating> ratings;
}
評価は大きく異なります。EmbeddedIdを使用しています。これが私がこれまでに持っているものです。
public class Rating{
@Embeddable
public static class RatingId
{
@ManyToOne
@JoinColumn(name = "movieId")
private Movie movie;
@ManyToOne
@JoinColumn(name = "raterId")
private Rater rater;
}
@EmbeddedId
private RatingId id;
private String comment;
private int rating;
}
だから私はこれを尋ねます:この埋め込みIDセットアップを使用するにはどのような特別な注釈が必要ですか?また、hbm2ddl値の適切なキーワードはどれですか?「create」値を使用したいように見えますが、それについて詳しく読むと、Hibernateが既存のテーブルを空にすることがわかります。私はその権利を読みましたか?ありがとう。