我想使用我拥有的三个 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 清空预先存在的表。我没看错吗?谢谢。