以前一直是通过powerdesigner 的Object Oriented Model生成数据库表,再通过代码生成器生成nhibernate实体类,映射文件。感觉不是很直接。

使用powerdesigner 15的内置功能,就可以生成nhibernate的数据访问层。不过默认的用在实际环境中不是很好,可以改一下模板生成自已需要的。下面是实际步骤。

 

建立一个object oriented model,选c#2.0和nhibernate

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 

改变model properties,修改其中的nhibernate设置
 

 

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。

 

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 

给类加上property,并设置一个id

 

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 在这里可以加上配置文件设置

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

设计的类图

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 

最关键的一步,设置mapping editor,在tool菜单设置,不然生成不了 nhibernate映射文件和数据访问层。

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 

 

 使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。

 


 可以看到preview代码,用language菜单中的generation c# 2 code生成物理文件。物理数据库最好是通过object oriented model转换生成。

 

使用 powerdesigner 15的Object Oriented Model生成 nhibernate实体类,映射文件和数据访问层。 

 

 可以设置生成nhibernate代码的vs版本,包括vs2005和vs2008。

 

类似用扩展模型的方式,也可以生成ado.net数据访问层和单元测试。

 

选择java语言则可以生成的基于hibernate或ejb3的数据访问层。

 

 

 

相关文章: