hibernate - 是否可以在没有外键的情况下使用 Hibernate

标签 hibernate foreign-keys liferay

一个简单的问题,如果有人可能有这方面的经验:

Is it possible to use Hibernate (with full functionality) without foreign keys at the tables...?

在我的例子中,我需要这样做,因为我想逆向工程 liferay 数据库 和实体,而在 liferay 中,外键只会把事情搞砸(Liferay 不支持外键),所以如果我可以关闭某些 hibernate 参数中的外键更改,那将是一个很好的解决方案(我知道这是行不通的,所以可能需要一些解决方法)

最佳答案

Hibernate 根本不关心外键。拥有与否并不重要。假设你有

@Entity
public class Product {
    //...
    @ManyToOne
    @JoinColumn(name = "category_id")
    private Category category;
}

然后,只要 procuct.category_id 的每个值实际引用现有的 category.id(或为空),那么一切都会正常工作。当然,通过设置外键约束来实际执行它是个好主意,但 Hibernate 不需要。

关于hibernate - 是否可以在没有外键的情况下使用 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624025/

相关文章:

java - 如何在 Spring JDBC 中创建对象之间的关系?

java - JPA 持久化对象而不调用 persist

sql - PostgreSQL:唯一约束或唯一索引

具有外键和与同一模型的多对多关系的 Django 模型

liferay - 如何在liferay中获得活跃用户

javascript - 如何在 Liferay 的 URL 中附加变量

sql - 有没有SQL + Redis Hybrid ORM/OHM框架?

hibernate - Spring Roo、Hibernate、一对多关系创建附加表

foreign-keys - 模型工厂中的 Laravel 5.1 外键

eclipse - Coudnot 安装 Gradle 发行版 - eclipse- Liferay