【发布时间】:2015-08-30 04:56:26
【问题描述】:
我正在尝试了解如何使用 Hibernate 从我的数据库中最好地生成和同步域模型 POJO。现在我设法构建的过程如下:
- 在数据库上构建 ER 架构
- 有一个包含元素的 hibernate.reveng.xml 文件(每个表一个)
- 在 Eclipse 上使用 JBoss 工具运行代码生成配置,我在其中设置目标包和位置、上述 reveng.xml 文件并获取生成的 POJO、映射文件和 hibernate.cfg.xml 文件
但这有很多问题:
- 我无法将常用字段(ID、创建者、修改者等)映射到 特定的基础实体。
- 我必须管理很多映射文件(似乎没有生成 单人)
- 我无法生成一个 basePojo 并拥有我的扩展一个,这样我的 对 POJO 的修改不会被下一个代码覆盖 一代。
- 我无法微调生成的工件(映射、.cfg 和 Pojos)的输出位置,它们都进入同一个基本文件夹(POJO 是根据我设置的包名称放置的)
是否可以“告诉”生成器将公用表字段映射到同一个类(createdBy、ModifiedBy、ID 等...)?
我在质疑这种方法是否有意义?我应该手动管理我的 POJO 吗?我不介意,但管理映射文件 (.hbm.xml) 的一些帮助会很有帮助。
或者我应该找到一些“代码优先”的方法,即。编写 POJO,然后生成模式?我有点习惯 .NET 的实体框架,我对在 Java/Hibernate 中构建持久层的“正确”方式感到很迷茫
谢谢
【问题讨论】:
-
有人更喜欢先接近另一秒,没有人能告诉你哪种方法最好。在所有情况下,您都需要做很多工作。
标签: java mysql hibernate code-generation