java - 在 Eclipse 中使用 Hibernate 创建数据库的专业工作流程是什么?

标签 java mysql eclipse hibernate

我不确定使用 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/

相关文章:

mysql - Laravel 获得 HitTest 门预订酒店数量

mysql - 按顺序计数

php - 上传的文件转到上传文件夹,但 sql 中的目录错误

java - 如何访问InputStream对象中的String?

java - 退出按钮的退出功能

java - 一页上的 JSF 多个支持 bean

eclipse - 无法在 eclipse neon 1 中安装度量插件

java - Parse.com 数据未保存到不同的表/对象

java - 如何在 Android 中使用 DefaultHttpClient 制作持久性 Cookie?

java - 使用 NTLM 和 Wildfly 的 HTTP 响应 '401: Unauthorized'