这些天来一直在看hibernate的相关文档,发现自己以前对hibernate的了解不准确。

在刚开始使用nhibernate的过程中,我写了这篇用Powerdesigner生成NHebernate的MAP文件 。其中的主要思想是通过 Powerdesigner的逻辑模型生成C#的OO模型,然后再根据OO模型生成hbm.xml文件。使用这种方式的好处是:数据层的C#代码和map都是自动生成的,但是其中有一个很大的问题:在从逻辑模型生成C#OO模型的时候,逻辑模型中的很多信息都已丢失,如文本长度、索引、多对多的关系等等,这样导致映射文件的信息不完全。

其实,hibernate更应该是一种MDA的工具,正确的方式应该是通过逻辑模型来生成数据库模型和对象模型,而不是通过物理模型或者OO模型来生成的。 在Java的hibernate中,提供了很多工具,如:Schema(map文件和代码之间相互生成的工具)、Middlegen(从数据库结构生成map文件)、AndroMDA(从UML图和xml文件中生成代码),我个人觉得AndroMDA应该是一个比较好的方向(目前还没有用过)。飞鹰以前做过一个从数据库中生成map文件的工具,功能应该和Middlegen类似,应该也偏离了hibernate的方向.






相关文章:

  • 2021-04-07
  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
  • 2021-06-29
  • 2021-07-31
  • 2021-08-01
  • 2021-06-09
猜你喜欢
  • 2021-12-30
  • 2021-06-06
  • 2022-12-23
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
相关资源
相似解决方案