java - Hibernate 域对象生成

标签 java mysql hibernate code-generation

我正在尝试了解如何使用 Hibernate 从我的数据库中最好地生成和同步域模型 POJO。现在我设法构建的过程如下:

  • 在数据库上构建 ER 模式
  • 有一个包含元素的 hibernate.reveng.xml 文件(每个表一个)
  • 在 eclipse 上使用 JBoss 工具运行代码生成配置,我在其中设置目标包和位置、上述 reveng.xml 文件并生成 POJO、映射文件和 hibernate.cfg.xml 文件

但这有很多问题:

  1. 我无法将公共(public)字段(ID、创建者、修改者等)映射到 特定的基础实体。
  2. 我必须管理很多映射文件(似乎没有生成 一个)
  3. 我无法生成一个 basePojo 并且有一个扩展的,所以我的 下一个代码不会覆盖对 POJO 的修改 一代。
  4. 我无法微调生成的工件(映射、.cfg 和 Pojos)的输出位置,它们都进入同一个基本文件夹(POJO 根据我设置的包名称放置)

是否可以“告诉”生成器将公共(public)表字段映射到相同的类(createdBy、ModifiedBy、ID 等...)?

我想知道这种方法是否有意义?我应该手动管理我的 POJO 吗?我不介意,但一些管理映射文件 (.hbm.xml) 的帮助会有很大帮助。

或者我应该找到一些方法来“代码优先”,即。编写 POJO,然后生成架构?我有点习惯了 .NET 的 Entity Framework ,我对在 Java/Hibernate 中构建持久层的“正确”方法感到很迷茫

谢谢

最佳答案

Telosys 工具 代码生成器可能是适合您的解决方案。

它使用现有的数据库生成任何类型的源文件 每个实体(数据库表),通常是 POJO、DTO、DAO、网页等... 当数据库架构更改时,您只需重新生成。

有关详细信息,请参阅网站:https://sites.google.com/site/telosystools/ 和教程:https://sites.google.com/site/telosystutorial/

所有模板都是免费且可定制的, 对于 Hibernate POJO,您可以使用 JPA 模板 (https://github.com/telosys-tools/persistence-jpa-TT210-R2) 并在必要时调整它们

关于java - Hibernate 域对象生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30832584/

相关文章:

java - 获取Java泛型的类,以及泛型的接口(interface)实现

java - 更新 TextView 中的数组

java - 升级 Groovy 1.7 - 2.1 不兼容

java - 为什么hibernate要自己执行更新?

java - Ignite CacheStore 实现在服务器端抛出 ClassNotFoundException

mysql - 使用 SQL 获取自特定日期以来的总计

mysql - Mysql Innodb的一个事务中,sql执行是否有序?

MySQL 过滤多对多

hibernate - 自定义 EntityNotFoundDelegate

java - Hibernate映射列出双方关系。