創(chuàng)建HUSBAND表
CREATE TABLE HUSBAND (
ID INTEGER,
NAME VARCHAR2(10)
);
創(chuàng)建WIFE表
CREATE TABLE WIFE (
ID INTEGER,
NAME VARCHAR2(10)
);
HUABAND實體及Repository
@Entity
@Table(name = "HUSBAND", schema = "SYSTEM")
public class Husband {
@Id
@Column(name = "ID")
private int id;
@Column(name = "NAME")
private String name;
@OneToOne
@Cascade({CascadeType.SAVE_UPDATE})
@PrimaryKeyJoinColumn
private Wife wife;
// 省略getter、setter及構(gòu)造函數(shù)
}
public interface HusbandRepository extends JpaRepository<Husband, Integer> {
}
WIFE實體及Repositpry
@Entity
@Table(name = "WIFE", schema = "SYSTEM")
public class Wife {
@Id
@Column(name = "ID")
private int id;
@Column(name = "NAME")
private String name;
@OneToOne
@PrimaryKeyJoinColumn
private Husband husband;
// 省略getter、setter及構(gòu)造函數(shù)
}
public interface WifeRepository extends JpaRepository<Wife, Integer> {
}
為何Husband實體可以正確添加,但Wife實體卻沒有被級聯(lián)添加呢?
Husband husband = new Husband(1, "Tim", new Wife(1, "Lucy"));
husbandRepository.save(husband);
Cascade用的均是Hibernate的類
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
---------------------------分割線-----------------------------將@Cascade({CascadeType.SAVE_UPDATE})修改為@Cascade({CascadeType.MERGE})則級聯(lián)新增、修改都可以實現(xiàn),但是我想明確的指定為新增級聯(lián)就是不行
添加回答
舉報
0/150
提交
取消