一个简单的问题,如果有人可能有这方面的经验:
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/