hibernate - Hibernate CascadeType.Persist 创建一个选择查询
问题描述
我正在尝试保留与其他实体具有一对多关系的对象。使用CascadeType.ALL有效,但实际上我不想在删除主对象时删除该实体。因此我尝试使用CascadeType.PERSIST。但是当我使用它时,它会进行选择查询并说找不到该实体。那么为什么当我使用 cascadeType.PERSIST 时休眠会这样做。
这里基本上是我的课:
public class Employeer{
@Id
private String id;
@Column
private String name;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "employer_details", joinColumns = {@JoinColumn(name = "employeer_id", referencedColumnName = "id")}
, inverseJoinColumns = {@JoinColumn(name = "details_id", referencedColumnName = "id")})
private Set<Address> otherObjects= new HashSet<>();
}
所以问题是为什么使用CascadeType.PERSIST不会保留 Address 元素并创建一个选择查询并说找不到该实体。为什么要使用它,我不想在删除员工时从地址表中删除实体。
注意:我在看这篇文章。尝试保存数据时找不到实体。但是我想知道为什么CascadeType.PERSIST不起作用。
解决方案
推荐阅读
- websphere - WebSphere - 安全角色到用户/组的映射
- c# - ASP.NET MVC 显示 SQL Server 表数据
- tfs - 使 TFS 用户拥有自己的看板的最佳方法是什么
- google-cloud-platform - 如何阻止 GCP 实例组终止
- javascript - 如何从嵌套函数中引用对象属性
- c++ - 为什么 uint64_t 不能正确显示 pow(2, 64) - 1?
- r - 彩色几何条 - 情节
- javascript - 为什么我的画布过滤器即使在渲染为画布后也不起作用?
- php - 如何将图像上传到 Web 服务器、数据库并通过查询显示图像?
- regex - 正则表达式在 SQL 脚本中查找(和替换)外键