부모 측에 PrimaryKeyJoinColumn
을 사용하여 일대일 관계를가집니다. 이제는 자식 엔티티 자체를 저장하려고합니다.Hibernate JPA 일대일 저장 하위 클래스 엔티티
예를 들어, 하위 엔티티로 Employee
및 EmpInfo
을 가지고 있습니다. 물론 부모의 id 속성을 설정 한 후에 EmpInfo
을 저장해야합니다. 그러나 이러한 배열이 사용되면 아래에 나열된 예외가 발생합니다 ...
org.springframework.dao.InvalidDataAccessApiUsageException: detached entity passed to persist
최대 절전 모드가 허용되지 않는 이유는 무엇입니까? 더 명확하게하기 위해, 나는 다음과 같습니다 가지고있는 코드 ...
ParentEntity :
public class Employee {
private Long id;
private String name;
private EmployeeInfo info;
private Integer enumId;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
return id;
}
@Column(name="EMP_NAME")
public String getName() {
return name;
}
@PrimaryKeyJoinColumn
@OneToOne(cascade = CascadeType.REMOVE)
public EmployeeInfo getInfo() {
return info;
}
}
ChildEntity :
@Table(name="EMP_INFO")
@Entity
public class EmployeeInfo {
private Long id;
private String email;
@Column(name="EMPLOYEE_EMAIL")
public String getEmail() {
return email;
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "emp_id", nullable = false)
public Long getId() {
return id;
}
}
나는 그것이 저장하려고하는 방법 .. .
임의의 PO 자식 엔티티를 저장하려고하면 어떻게 할 수 있습니까?
큰 덕분에 많은 눈을 뜨게을 위해, (나는이 게시물을보기 전에) 나는 같은 지난 밤을했고, 그것은 문제가 해결. 그러나 이것은 (서비스 사용자가 잘못된 ID를 EmployeeInfo로 설정하여 데이터 손상으로 이어질 수 있기 때문에) 좋은 방법인지 여부를 확신 할 수 없거나 서비스 사용자에게 전체 개체 그래프 (부모 아이뿐만 아니라) 저장 ... – PaiS