我不确定使用 Hibernate 从头开始创建大型 MySQL 数据库的“现代”方法是什么。
您不会使用程序集来编写现代 UI 应用程序 - 我知道 - 如果不需要的话,我是否为 Hibernate 手动编写 .hbm.xml
文件?无论如何,我更愿意在使用 XML 之前使用 Java 注释(例如 @Entity
、@OneToMany
等),但这是开始的级别吗?
MySQL Workbench 提供了一种非常直接的方法来创建 MySQL 模式,所以我现在所做的是在 MySQL Workbench 中创建我的模式并使用 Hibernate 工具对其进行逆向工程。这样我就创建了我的数据库并且我有了带注释的 Java 文件,希望它们是正确的。
但是使用 MySQL Workbench 为我创建一个数据库感觉很奇怪,我逆向工程只是为了拥有我的 Java 文件。
所以你看我正在寻找的是一种实用的方法来组织我的创建过程,它还应该考虑以后可能需要的迁移过程。
Hibernate 的详细工作流程是什么样的?
最佳答案
没有办法(TM)去做。但是从 5 年的 hibernate 经验来看,我从建模开始,然后手写 DDL。我建议不要让 hibernate 创建你的表,因为 hibernate 不能创建索引和合适的约束,通常你需要一个 db init 脚本来测试、集成和生产环境。以这种方式迁移也更容易。
当所有表都设置好后,我让 IDE 生成实体。我总是被逆向关系搞糊涂了......
开发完成后,我通常会再次分析模型以添加缺失的索引。
使用 hibernate,您不能定义像 GENERATE ALWAYS
这样的主键,像 id > 0
这样的约束。 Hibernate 也将默认使用一个 sequence
ant 不会为每个表添加 sequences
。不支持较新的 oracle 和 SQL 服务器功能。
我读过一次,模型实现后应该使用 hibernate,但它一定是 3.x,我猜 hibernate 4.x 学到了一些新技巧。
关于java - 在 Eclipse 中使用 Hibernate 创建数据库的专业工作流程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670901/