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