1
我想获取三个pojos,并使用Hibernate的能力在我的数据库中生成匹配它们的表。这些课程是电影,评分和评级。这是电影。 Rater实际上是一样的东西,因为它也有连接到它的评级列表。我对嵌入式ID使用哪些注释?
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值的关键字?这似乎是我想使用“创建”值,但阅读更多的说它会导致Hibernate清空预先存在的表。我读过对吗? 谢谢。
这几乎是答案。我不确定是否必须为内部ID做任何特别的注释。 – user1281598 2012-07-09 12:20:32
你试过实施它吗?该注释应该完美地工作。 – 2012-07-09 23:55:13
我所拥有的是带注释的pojos。我没有看到任何变化。我猜我必须在Hibernate改变任何东西之前尝试添加数据? – user1281598 2012-07-10 14:58:54