gpt4 book ai didi

java - 不想坚持一对一的实体

转载 作者:行者123 更新时间:2023-11-30 11:15:48 24 4
gpt4 key购买 nike

假设我有两个类 EmployeeDepartment

Employee 中我写了:

@OneToOne( fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
@JoinColumn(name="deptID")
private Department department;

Department 类有 Id 和 Name。 (就像系主任)。

我有一个 View ,我正在使用选择/组合框选择 Department。当我提交表单并传递 Employee 对象进行持久化时,它会提供 detached entity passed to persist。我只想保存具有外键值的员工实体,而 Department 已经有记录。

最佳答案

你告诉JPA cascade all!并传递分离对象进行保存,这是一个问题。根据Hibernate docCascadeType.PERSIST 在您保留员工时保留部门时起作用。根据 hibernate 文档:
CascadeType.PERSIST:将持续(创建)操作级联到关联的实体 persist() 被调用或者如果实体被管理所以你的选择:

  • 传递附加到员工的托管或临时部门对象对象。
  • 在坚持之前合并分离的一个?
  • 全部移除级联并仅选择您需要的级联类型
  • 完全删除级联类型。

查看 hibernate 文档

关于java - 不想坚持一对一的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185747/

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