mysql - 我是否需要使用约束来制作 sql 表才能与 hibernate 一起使用

标签 mysql hibernate foreign-keys primary-key

我在 spring MVC 中使用 hibernate 注解。

现在我总是使用 GUI 编辑器(如 SQLYOG 或 phpmyadmin)创建表。 所以我只是用列创建表,即使我在其他表中有一些表 primaray 键,我也只是将该列命名为

Person ---id--name--age
SUbject------person_id----description

所以我使用 GUI 制作了这些表,并提及了有关外键等的任何内容。

在 GUI 编辑器中有一个选项,可以让它成为主键和自动递增,所以它通常可以工作到现在。

但我想知道在 Hibernate 中我是否需要使用正确的 sql 命令创建表。我的意思是我需要提到哪个表是主键,哪个是外键

或者 hibernate 注释就足够了

最佳答案

只要您的注释正确,Hibernate 就可以正常工作。

但从数据库设计的角度来看,我强烈建议您至少创建主键和外键约束。

如果您创建主键,您的查询将运行得更快。您可以通过创建其他类型的索引来进一步提高性能。

PHPMyAdmin 完全能够为您创建主键,以及 mysql 中的所有其他索引类型。无需手动编写创建代码。

关于mysql - 我是否需要使用约束来制作 sql 表才能与 hibernate 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194937/

相关文章:

jquery - AJAX/jQuery 和 MySQL?

mysql - 当使用 poolConnection 或 CreateConnection felixge/node-mysql

php - 通过将唯一 id 从一页传送到另一页来将数据保存在数据库中

java - 无法从类型 [java.lang.String] 转换为类型 [@javax.persistence.Id @javax.persistence.GenerateValue int]

Java Hibernate 级联问题

mysql - 我需要在数据库中保存什么来记录订单历史?

java - 实体类在 AbstractGenericDao 中如何工作?

mysql - mysql中外键引用的主键可以是varchar(255)吗?

postgresql - 在 postgres 中更改和创建复合外键的语法

MySQL:从多个表中检索数据