gpt4 book ai didi

java - 这是 @OneToOne 关系中 "mappedBy"的正确使用吗?

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:59 24 4
gpt4 key购买 nike

我有一个人员类,其基本字段如姓名、年龄等...我想为每个人的汽车详细信息创建一个单独的表,

所以我以这种方式实现了@OneToOne关系:

@Entity
@Table(name = "PERSON")
public class person {

@OneToOne(mappedBy="person", cascade= CascadeType.ALL)
private CarDetails carDetails ;

//more fields and getters and setters and of course @Id.....
}

和另一个实体:

@Entity
@Table(name="CAR_DETAILS")
public class CarDetails {

@Id
@Column(name= "READER_ID")
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign", parameters=@Parameter(name="property", value="Person"))
private long readerId;

@OneToOne
@PrimaryKeyJoinColumn
private Person person;

//more fields and getters and setters
}

一切正常,但我不确定这是“mappedBy”的正确用法。我读过一些关于它的内容,我遇到了我的实现方式,但也遇到了其他实现方式,所以我有点困惑。

有人可以详细说明这是否是“mappedBy”的正确用法吗?

最佳答案

我建议你使用旧时尚模式

@OneToOne(orphanRemoval = true, optional = true, cascade = {CascadeType.ALL}, mappedBy = "person")
@Getter
@Setter
private CarDetails carDetails;


@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
@JoinColumn(name = "person_id")//You will need to create foreign key
@Getter
@Setter
private Person person;

关于java - 这是 @OneToOne 关系中 "mappedBy"的正确使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30956300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com