java - 可以在Hibernate级别维护两个表之间的关系吗?

标签 java hibernate jakarta-ee

我是 Hibernate 新手。你能回答我的问题吗?

在 ORM 级别维护 2 个表关系是否可以接受?我不想在两个表之间添加外键关系,但我想在 hbm 文件中添加多对一关系。

例如,我有 Account 和 Account_Type 表。帐户表包含 AcntType 列。它不是空列。 AccountType 包含 AcntType 作为 PK。 Account表中没有FK关系。

现在我想从 ORM 级别添加关系,我现在不想更改帐户表并添加外键约束。

我想在我的帐户 hbm 文件中添加“多对一”属性。我想在我的 AccountType hbm 文件中添加“一对多”属性。

在 ORM 级别或 DB 级别维护关系是否可以接受?我正在使用 Oracle DB

最佳答案

Hibernate 不关心表之间是否存在外键约束。

但是添加外键约束可以保证,无论您使用什么来更新数据库,也无论您的代码可能存在什么错误,您都不会拥有引用不存在的帐户类型的帐户。所以你绝对应该有一个外键约束。

关于java - 可以在Hibernate级别维护两个表之间的关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27470713/

相关文章:

java jpa ManyToOne 级联删除未按预期工作

java - 无法跨 EAR 项目形成 EJB 关系。关系属性异常?

java - 使用 JPA 和 Hibernate : Persistence. xml 进行 JUnit 测试

jakarta-ee - 使用 JPA 将列类型从 varchar 更改为 CLOB

java 获取 JTextComponent 中字符的图形位置

java - 如何密切监视 java.util.map 的某些插入

java - 2014 年 BroadcastReceiver 的 Google Play/Google Analytics INSTALL_REFERRER

java - 使用 LibGDX 按下空格键时如何发射子弹?

mysql - 从我的应用程序触发时, hibernate 删除查询不起作用

java - 在 hibernate 启动之前创建数据库(例如 Flyway 或其他)