gpt4 book ai didi

java - 如何管理 OnetoOne 仅在 child 中插入数据

转载 作者:行者123 更新时间:2023-11-29 04:32:36 26 4
gpt4 key购买 nike

我是 hibernate 的新手,我正在使用 JPA 和 Hibernate4。尝试将父对象作为 onetoone 关系插入子对象。

我浏览了一些教程,但网络中的所有示例都显示了插入父表和子表。

我只想在子表中插入数据。

我有两个名为用户和部门的表。

用户表由用户详细信息和部门组成,为一对一关系,如下,

@Entity
@Table(name = "User")
public class UserEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "_id")
private String id;

@Column(name = "firstName")
private String firstName;

@Column(name = "lastName")
private String lastName;

@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "departmentId")
private Department departmentId;

// getters and setters...

}

下面是我的部门实体,

@Entity
@Table(name = "Department")
public class Department {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "_id")
private String id;

@Column(name = "name")
private String name;

// getters and setters...
}

部门表只有4条数据。我想在插入时只在用户数据中插入数据,不想在部门中插入。

我该怎么做。请协助。

最佳答案

为此,您必须使用 mappedBy,如下面子表中所述,在您的案例中为 Department

@OneToOne(mappedBy="department")
private UserEntity user;

这些帖子更好地解释了这一点,

JPA JoinColumn vs mappedBy

Understanding mappedBy annotation in Hibernate

关于java - 如何管理 OnetoOne 仅在 child 中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226350/

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