如何在休眠中保存多个表

Posted

技术标签:

【中文标题】如何在休眠中保存多个表【英文标题】:How to save multiple tables in hibernate 【发布时间】:2018-01-26 19:32:15 【问题描述】:

我有 3 个表,例如:table_A, table_B and table_C. A 是 B 和 C 的父级。如何在休眠时保存父表时的表。

【问题讨论】:

使用 Hibernate(以及 JPA)时的第一条规则:不要考虑表,而要考虑实体。接下来,我们需要查看这些实体以提供帮助。提示:与父级同时“保存”通常通过级联完成(在 JPA/Hibernate 文档中查找)。 顺便说一句,欢迎来到 SO。请阅读帮助部分,尤其是How to Ask。 不幸的是,您的问题归结为“请有人帮我解决这个问题”。但我们不将此类请求视为本网站范围内的问题。请仔细阅读this 以了解原因。然后考虑删除这个问题并在这个社区的范围内提出一个新的、更精确的问题。或者,您可以修改和改进这个问题。谢谢! 【参考方案1】:

如果您已将表映射到实体,则:

示例:

//parent

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Car 


@Entity
public class BCar extends Car 

@Entity
public class CCar extends Car 

session.save(bCar);
session.save(cCar);

【讨论】:

以上是关于如何在休眠中保存多个表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用具有多个连接的 SQL 查询并使用休眠计数

在休眠环境中对表使用单独的序列

如何使用同一列休眠设置多个一对多关系

如何在休眠中为@ElementCollection 设置表名

如何在休眠中处理多个会话事务提交和回滚?

如何在休眠中将表列与另一个表列映射