java - 休眠级联中的多对一=“无”
问题描述
如果我有一个与其他对象存在多对一关系的对象,并且 CASCADE 的设置设置为 NONE,我必须单独保存这些对象吗?
例如
在 HeroObject 里面有一个 SkillObject,在 SkillObject 里面有 CooldownObject。如果我想将 HeroObject 持久化到数据库中,我是否必须单独保存 SkillObject 和 CooldownObject.
HeroObject 有自己的 heroDao.saveMethod(),SkillObject - sillDao.saveMethod() 和 coolDownObject 和 cooldownDao.saveMethod() 也是如此。
因此,如果 CASCADE 设置为“NONE”,则在此示例中我必须执行 3 次 saves()。我在这里有意义吗?
解决方案
如果您将级联设置为无,则必须单独保存对象。这是一项乏味的工作。使用映射时最好使用级联。如果你保存一个 HeroObject ,那么所有的对象也会被保存到数据库中。如果您删除一个 HeroObject,那么与该 HeroObject 关联的所有帐户也将被删除。但是如果我们只想级联只保存操作而不是删除操作怎么办。然后我们需要通过 Hibernate Cascade Types 明确指定..您可以访问此链接以获取更多信息。[ https://howtodoinjava.com/hibernate/hibernate-jpa-cascade-types/][1]
推荐阅读
- google-apps-script - Add cell copy to existing function
- javascript - 即使我试图保持它,Textarea也会失去焦点
- microsoft-cognitive - Azure 认知服务容器与云之间的任何模型质量差异
- wpf - 将元素绑定到不同的 DataContext 属性
- python - Python为多个列表元素赋值
- rust - include_bytes!() 可以用于自定义结构吗?
- symfony - 带有 VichUploader 和一对多关联实体的 Symfony 上传
- typescript - 如何将两个打字稿泛型联系在一起
- java - 用Java(Android-Studio)制作PHP“POST”语句的正确方法
- jquery - 具有活动类的每个第 n 个 div 的样式