当前位置: 首页 > 面试题库 >

Hibernate中的级联是什么?

弘靖琪
2023-03-14
问题内容

什么是 级联 处于hibernate?cascade我在map标记中看到了一个属性。这是什么意思?

像什么cascade = all意思?我还喜欢阅读其他属性
cascade="none|save-update|delete|all-delete-orphan|delete-orphan"


问题答案:

级联是关于涉及一个对象通过关联传播到其他对象的持久性动作。级联可以应用于各种Hibernate动作,并且通常是可传递的。定义关联的注释的“ cascade
= …”属性表示应该对该关联进行级联的操作。

Cascade =“ all”表示应用所有主要的层叠类型。从Hibernate 5.3开始,这些类型是:

  • “删除” /“删除”,
  • “分离” /“逐出”,
  • “合并”,
  • “锁”,
  • “坚持”,
  • “刷新”,
  • “复制”,
  • “ save_update” /“更新”

(其中一些层叠类型名称是旧的和/或已弃用。)

还有另外三种复合类型:

  • “ all_delete_orphan”-表示与“ all”相同,并允许删除由级联孤立的实体。
  • “ delete_orphan”-表示“删除”加上孤立删除。
  • “无”-表示无级联。


 类似资料:
  • 考虑创建别名方法。文档说:。我不明白这是什么?假设有 2 个表 - 客户(id,和 假设条件 - 关联路径应该是什么? “Customer.id = Order.customer_id” 或者只是我在某些论坛上看到的“订单”? 有人能为几种情况提供几个例子吗,比如左连接、内连接,当然还有带子句的连接?

  • 问题内容: 谁能用简单的语言解释一下Hibernate中的一级和二级缓存是什么? 问题答案: 1.1)一级缓存 一级缓存 始终与 Session对象 关联。Hibernate默认使用此缓存。在这里,它处理一个事务接一个另一个事务,意味着不会多次处理一个事务。主要是它减少了在给定事务中需要生成的SQL查询的数量。那不是在事务中完成每次修改之后更新,而是仅在事务结束时更新事务。 1.2)二级缓存 二级

  • 问题内容: 让我有实体和实体。实体与有关系。 我想下一步: 如果我删除A,那么也必须删除B。 如果我删除B,那么A也不会删除。 我必须在哪个实体中设置 我必须在哪一边 ? 问题答案: 从A到B的级联应该放在类引用的字段上,从B到A的级联应该放在类引用的字段上。 应该在课堂上,因为您希望每个动作都可以级联。 应该在课堂上,因为您只希望级联某些操作

  • 问题内容: 是什么 器transaction.commit() 吗? 这给了我结果: 但是由于我没有调用 transaction.commit(), 所以数据库中没有任何更改。 这是否意味着仅在某些实例/对象上完成了所有操作,而没有真正更改数据库? 我是Hibernate的新手,所以请帮助我理解。我正在使用hibernate4。 更新: 如果我调用 transaction.commit(), 那么

  • 我试图通过联接表的一个外键级联删除联接表中的行,它有另一个与之相关的表,我也想删除与此ID相关的所有行。看起来像下图。当我使用会话时。使用hibernate删除(reqCandObject)它工作正常,并通过从候选jobReq表中删除一个条目以及相关注释进行级联。但是,我想删除所有具有特定候选ID的候选项(并删除注释)。我尝试了下面的函数,但与nice hibernate不同。删除(对象)函数,此

  • 问题内容: 我正在使用JPA 2.0并hibernate。我有一个用户类和一个组类,如下所示: 然后,我创建一个用户和组,然后将该用户分配给该组。 我要拥有的是删除组时(当然),该组将被删除,并且该组具有的所有用户-组关系将从USER_GROUP连接表中自动删除,但用户本身不会从USER表。 使用上面的代码,当我删除组时,只有GROUP表中的行将被删除,并且用户在USER_GROUP连接表中仍然具