私はUser
クラスとRecipe
クラスを持っています。 Recipe
クラスには、どのユーザがどのレシピを所有しているかを示すフィールドがあります。ユーザーはIDを持っています。私はこれがManyToOne
接続であるべきだと考えています。なぜなら、1人のユーザーが多くのレシピを持つことができるからです。私の質問、彼は、どのように私は自分自身を少し失ってこれらの注釈で、Javaの春にこれをコード化することができます。これは私が思いついたものですが、うまくいきません。hibernateとjava springを使用してテーブルを作成しようとしています
@Entity
public class Recipe {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int recipe_id;
private String name;
@JoinColumn(name="user_id" , table="User")
private int user_id;
private LocalDate dateUploaded;
private String description;
public int getId() {
return recipe_id;
}
public void setId(int recipe_id) {
this.recipe_id = recipe_id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getUser() {
return user_id;
}
public void setUser(int user_id) {
this.user_id = user_id;
}
public LocalDate getDateUploaded() {
return dateUploaded;
}
public void setDateUploaded(LocalDate dateUploaded) {
this.dateUploaded = dateUploaded;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
とユーザークラス
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int user_id;
private String firstName;
private String lastName;
private String userName;
private String password;
public User(int user_id, String firstName, String lastName, String userName, String password, int[] favoriteRecipes, int[] myRecipes) {
this.user_id = user_id;
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.password = password;
}
public int getId() {
return user_id;
}
public void setId(int user_id) {
this.user_id = user_id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
質問の関連付けは本当ですか、ユーザーがアップロードしたすべてのレシピを持つユーザークラスのリストプロパティを追加しますか?アソシエーションを双方向にする。 – Ubercool
いいえ、私たちは第1正規形を制動するので、リストを持ちたくありません。 – Ermehtar