1) 私は 2 つのテーブル、user と user_profile をOneToOne
Relationship で持っています。
ユーザーテーブル:
id,user_name,first_name,last_name - ID には主キーがあり、
ユーザー プロファイル:
id,name,user_id - ID には主キーがあり、user_id にはユーザー テーブルの外部キーがあります
2) 以下は、2 つの JPA Entity オブジェクトです。
ユーザー:
@Entity
@Table(name = "user")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "user_name",unique=true,nullable=false)
private String name;
@Column(name = "first_name")
private String firstName;
@Column(name = "last_name")
private String lastName;
@OneToOne(cascade = {CascadeType.ALL})
@JoinColumn(name="user_id")
public UserProfile userProfile;
//with set/get methods
}
ユーザー プロファイル:
@Entity
@Table(name = "user_profile")
public class UserProfile {
@Id
@Column(name = "id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "user_id")
private Long userId;
@OneToOne(mappedBy="userProfile")
private User user;
// with set/get methods
}
両方のテーブルに挿入しようとすると、列が値とともに USER テーブルに追加され、USER_PROFILE テーブルuser_id
の列に値が表示されません。user_id
私はこのMySQLを初めて使用していますが、これを修正する方法を誰かが明らかにすることができますか?