Tôi chỉ tự hỏi nếu có như vậy một cách mà tôi có thể có xây dựng bảng MySQL của tôi nhưJPA + Hibernate: Làm thế nào để xác định một hạn chế có ON CASCADE DELETE
ALTER TABLE `USERINFO`
ADD CONSTRAINT `FK_USER_ID` FOREIGN KEY (`USERID`) REFERENCES `USERACCOUNT` (`USERID`)
ON DELETE CASCADE
ON UPDATE CASCADE;
Tuy nhiên, tôi chỉ nhận được điều này trong DDL của tôi khi ngủ đông ++ bắt đầu JPA để xây dựng bảng của tôi có "<property name="hibernate.hbm2ddl.auto" value="create" />
"
ALTER TABLE `USERINFO` ADD CONSTRAINT `FK_USER_ID` FOREIGN KEY (`USERID`) REFERENCES `USERACCOUNT` (`USERID`);
Trong lớp học của tôi, tôi có những thiết lập chú thích,
// UserAcc.java
@Entity
@Table(name = "USERACC")
public class UserAcc implements Serializable {
private static final long serialVersionUID = -5527566248002296042L;
@Id
@Column(name = "USERID")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer userId;
@OneToOne(mappedBy = "userAcc")
private UserInfo userInfo;
....
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
...
và
// UserInfo.java
@Entity
@Table(name = "USERINFO")
public class UserInfo implements Serializable {
private static final long serialVersionUID = 5924361831551833717L;
@Id
@Column(name = "USERINFO_ID", nullable=false)
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer userInfoId;
@OneToOne(cascade = {CascadeType.ALL})
@JoinColumn(name="USERID", nullable=false)
@ForeignKey(name = "FK_USER_ID")
private UserAcc userAcc;
public Integer getUserInfoId() {
return userInfoId;
}
public void setUserInfoId(Integer userInfoId) {
this.userInfoId = userInfoId;
}
...
Lưu ý rằng, UserAccount bảng là phụ huynh/table chính ở đây trong khi UserInfo là một bảng mở rộng bình thường để tổ chức khác. Mọi câu trả lời sẽ được đánh giá cao. Tôi chỉ tò mò làm thế nào nó được thực hiện như tôi thích làm việc cũng trong MySQL. Tôi chỉ thực sự được sử dụng để xóa một bản ghi từ bảng cha (USERACOUNT) mà cũng sẽ cho phép tôi để thác một xóa thông qua các hồ sơ con phụ thuộc vào hồ sơ cụ thể từ một bảng cha/tiểu học.
Cảm ơn!
Bạn đã tìm thấy giải pháp cho vấn đề này bằng cách sử dụng jpa chưa? Tôi đang gặp vấn đề tương tự và tôi không muốn sử dụng một mối quan hệ hai chiều, tạo ra việc tìm nạp lười trên bố mẹ. –