친구들! 자식 객체를 지속 할 때 나는 "아이"테이블 부모의 ID 절약과 문제가, 부모 ID로 열은 null입니다 ..@OneToOne - 캐스케이드 모두 부모님을 저장하지 않습니다.
부모 (사용자 클래스)
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id")
private long userId;
@Column(name = "name")
private String name;
@Column(name = "address")
private String address;
@Column(name = "postcode")
private int postCode;
아이 (자격 증명 클래스)
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name="credential")
public class Credentials {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private int id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@OneToOne(cascade= CascadeType.ALL)
@JoinColumn(name="user_id")
public User user;
Application 클래스
User user = new User();
user.setAddress("asdkapoda");
user.setName("xaxaxaxa");
user.setPostCode(3423);
Credentials credit = new Credentials();
credit.setPassword("sadsad");
credit.setUsername("sdadsa");
session.save(credit);
그리고 데이터베이스 자격 증명은 user_id = NULL입니다. Hibernate 4.3
당신은'Credential'에서'user'에 대해 이야기하고 있습니까? 그렇다면 이전에 작성한 사용자로 사용자를 설정하지 않은 것입니다. – ChiefTwoPencils