使用PowerDesigner 的Hibernate O/R Mapping功能简介

使用PD(PowerDesigner)自动生成Hibernate的POJO文件及xml配置文件 立即下载

转自 http://www.suneca.com

 

对于很多使用过PowerDesigner的人来讲,他们使用PowerDesigner就是使用它来进行数据库物理建模,创建数据库表对象、建立表与表之间的关联关系、创建索引,最后,使用PowerDesigner的Generate DataBase功能生成数据库的DDL语句,最后,将这些DDL语句使用数据库工具进行导入。使用再高级一点的话,我们还可以创建数据源,并在PowerDesigner建立与数据源的连接后,最后,直接通过Generate DataBase的ODBC Generation功能直接在数据库当中建表、建外键、建约束、建索引等数据库对象。
    PowerDesigner对很多很多应用服务器,外部工具,开源框架有着很好的支持,这个是PowerDesigner的最大优势。默认情况下,这些扩展模块都没有启用,我们可以使用Extended Model来启用相应的模块支持,比如Hibernate。这篇文章将使用Object-Oriented Model结合Physical Data Model,并启用Hibernate Extended Model来进行建模,并最终生成相应的Java代码、Hiberante配置文件和映射文件、DataBase DDL语句等。
    首先:我们先创建新的Object-Oritented Model,将Object Language选项当中Java,First diagram选择为Class Diagram,如下图所示:



配置完后,点击Extended Model Definitions面板,在扩展的模型当中选择Hiberante,最后点击确定按钮,如下图所示:



   第二,在Class Diagram当中创建一个新的Package,取名为zizz,并进入zizz package当中的Class Diagram,创建新的Class,新的Class名为User,并在User当中创建新的attribute,如下图所示:



   第三,创建新的Physical Data Model,创建可以有两种方式:第一种是通过File-->New创建新的Physical Data Model;第二种是通过PowerDesigner提供的Model Transfer功能,将Class Diagram Model转化为Physical Data Model,以下图表显示出PowerDesigner当中Model的关联关系:



第一种方式:点击File-->New,在弹出的对话框当中选择Physical Data Model,选择相应的数据库,本次采用的是Oracle 10g数据库,最后点击确定,如下图所示:



接着,在Physical Diagram当中创建新的数据库表,表名为:T_USRE,表列的描述如下图所示:



第二种方式是使用PowerDesigner的Model Transfer功能,将Object-Oriented Model转化为Physical Data Model。点击Tools-->Generate Physical Data Model菜单,在弹出的对话框当中选择相应的数据库。如下图所示:



PowerDesigner将会自动为我们创建一个新的Physical Data Model,并且,自动创建了一张名为User的表,并且自动创建列。创建结果如下图所示:



创建完之后,我们应该按照我们的命令规范对我们的表名、列名做相应的修改,最后,还要将数据精度做一下调整。PowerDesigner的Model Transfer功能非常强大,它不仅能够帮我们创建一个新的数据库物理数据模型,还可以帮我们更新相应的数据库物理模型。
本次将使用第一种创建Physical Data Model的方式。
第四,打开Class Diagram视图,双击User Class,将弹出如下对话框



点右右下角的More,将所有标签页显示出来,在标签页当中选择Mapping,如下图所示:



点击创建按钮图标,创建新的数据源(这里指的数据源即新建的数据库物理数据模型),弹出的对数据源创建向导话框,在对话框当中的Data Source输入任意的名称,如你的项目名称,如下图所示:



点击“下一步”按钮,在弹出的对话框当中选择我们创建的Physical Data Model,接着,点击“完成”按钮,如下图所示。



点击完成按钮后,将弹出如下对话框,在对话框当中选择User对象的Mapping表格,最后点击“确定”按钮。



在新的Mapping当中,我们可以看到,对象User将会Mapping到T_USER表。那数据库列应该怎么进行映射呢?假如数据库的列名跟对象的属性名一致,那我们可以不需要进行列的配置,因为Hibernate本身就可以支持这一点,那如果列不一致呢?那我们应该怎么办?在powerdesigner配置可以有两种方式,第一种,通过attribute mapping进行映射,如下图所示:



第二种是通过Mapping Editor来建立数据库列与类属性之间的映射。点击:tools-->Mapping Editor,将弹出如下的对话框:



选择某一列,从左边拉到右边的指定列,将自动建立列与属性的关联关系,最后点击确定“按钮”。如下图所示:



最后,我们可以从Mapping当中看到数据库列与类属性的映射关系。如下图所示



第五,生成代码。点击Language-->Generate Java Code生成Java代码。在弹出的对话框Option标签当中选择需要生成的类型及在Generated Files选择生成的代码,将可以自动生成代码,如下图所示:






powerDesigner 导出 JAVA 代码 立即下载

相关推荐

使用powerdesigner 生成数据库设计文档

存在问题:数据库设计文档如果手动填写,非常麻烦,并且如果变动修改的更麻烦。每次数据库结构变更后再人工地变更数据库文档,一是繁琐,二是容易有疏漏。最好是用工具自动生成文档,可以确保正确性。使用powerdesigner 生成数据库设计文档,由于之前没有相关文档,本人研究了一上午,才形成此文档。

Hibernate逆向工程【PowerDesigner、idea环境下】

为什么要使用逆向工程 由于我们每次编写Hibernate的时候都需要写实体,写映射文件。而且Hibernate的映射文件也容易出错。而逆向工程可以帮我们自动生成实体和映射文件,这样就非常方便了。 使用PowerDesigner 在设计数据库表时,我们使用PowerDesigner来生成概念模型\物理模型… 设计一个人员组织架构:有机构、部门、员工、领导、角色、权限。 一个机构有多...

3y 485

Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程

CalmAn是一个用于大规模钙成像数据分析和行为分析的Python工具箱。CaImAn实施了大规模钙成像数据分析管道中所需的一套基本方法。针对多天的运动校正、源提取、尖峰反褶积和分量配准,实现了快速且可扩展的算法。它适用于双光子和单光子荧光显微镜数据,可以在批处理和在线模式下运行;CaImAn还包含一些分析摄像机行为的例程。

Fine的优快云博客 3557

powerdesigner 生成支持Eclipse+hibernate的项目

一、文档简介 1.         使用Powerdesigner(以下简称PD)创建Eclipse+hibernate支持的项目,读者首先要知道如何使用PD创建数据库。文档的核心讲解如何配置Eclipse+hibernate支持,及生成数据库、JAVA代码。 2.

MS+Flex 963

SAP FB03凭证修改实战:巧用BAPI FI_DOCUMENT_CHANGE更新抬头与行项目

本文详细介绍了SAP FB03凭证修改的实战技巧,重点解析了BAPI FI_DOCUMENT_CHANGE的使用方法。通过该接口,用户可以在不冲销原凭证的情况下直接更新抬头文本(BKTXT)和行项目文本(SGTXT),确保凭证编号连续且符合审计要求。文章包含核心机制解析、完整实现步骤、错误处理方案以及高级应用场景,帮助开发者高效完成SAP财务凭证修改。

weixin_29251567的博客 423

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1340

PowerDesigner中设置Hibernate一对多,多对一属性

<br />例如:表示主机HOST含有多个磁盘DISK关系:<br /><br />在PD的OOM中双击一条关系连线,设置Navigate,这样才会在各自hbm.xml中生成many-to-one及one-to-many关系。<br /><br /><br /><br />另外,根据“附文”的效率说明还需要设置:由多方DISK维护关系,并且当HOST更新时,也要更新DISK。<br /><br /><br /><br />生成的HBM.XML如下:<br />HOST的:<br />      <joine

1440

手把手教你学Simulink--基于火电发电系统的场景实例:燃煤发电机组的锅炉-汽轮机协调控制仿真

本文介绍了使用Simulink构建燃煤发电机组锅炉-汽轮机协调控制系统的仿真方法。系统包含锅炉子系统、汽轮机子系统和协调控制器三大模块,通过传递函数建模和PID控制策略实现协调控制。详细说明了从模型创建、子系统设置到控制器设计的完整流程,包括燃料供给、汽轮机模型和数据处理等关键环节。最后通过性能评估验证系统响应速度、参数稳定性和效率等指标。该仿真方法为火电系统控制策略设计和优化提供了有效工具。

MHD0815的博客 1153

PowerDesigner中CDM和PDM数据类型的mapping

Conceptual data type DBMS-specific physical data type Content Length Integer int / INTEGER 32-bit integer   Short Integer smallint / SMALLINT 16-bit integer

kunlong0909的专栏 3167

【AI Agent】Harness Engineering实践

Harness(运行宿主)是围绕 LLM构建的一套确定性工程系统,其核心职责是:承认模型的固有局限,用可控的工程手段逐一弥补,使"强大但不可靠的推理引擎"变成"可信赖的生产级Agent"模型 是发动机——提供原始动力Agent 是驾驶员——做出决策Harness 是道路、地图、护栏、仪表盘、维修站和质检线——确保行驶安全有序没有Harness,模型越强,可能只是更快地制造混乱。

sysu_lluozh 190

20、啁啾脉冲光纤放大器:原理、设计与仿真

本文详细介绍了啁啾脉冲光纤放大器(FCPA)的原理、设计与仿真过程。内容涵盖CPA技术的基本原理、光纤基CPA系统的组成、Tm掺杂光纤放大器的工作机制、全光纤脉冲展宽器的设计以及仿真分析。通过MATLAB仿真展示了脉冲在光纤中的展宽与放大过程,并讨论了如何优化系统以减少非线性失真、控制峰值功率并提高整体性能。文章还总结了系统优化的关键策略,并展望了未来的发展方向。

v4w5x6的博客 318

Spring MVC 源码 - HandlerMapping 组件(一)之 AbstractHandlerMapping

这里是通过一个一个的 HandlerMapping 组件去进行处理,如果找到对应 HandlerExecutionChain 对象则直接返回,不会继续下去,所以初始化的 HandlerMapping 组件是有一定的先后顺序的,默认是BeanNameUrlHandlerMapping -> RequestMappingHandlerMapping。方法,从 Spring 的上下文中,扫描已注册的 MappedInterceptor 的拦截器们,添加到。等注解的方式所取代。等注解的方式所取代。

Coder_Boy_的博客 766

土壤数据库辅助工具SPAW计算土壤导水率

首先点击打开根据之前的1比100土壤数据查表得到各个组分含量其中Field Capacity是田间持水量Matric Bulk Density是基质粒密度。

所有专家都曾始于新手 3443

WEB框架研究笔记八(HIBERNATE)

HIBERNATE以前折腾过,应该没什么问题,突然想到,HIBERNATE需要根据数据表生成映射文件,以前用过一些工具都不是很爽,想找找有没有什么更好的办法。 使用PowerDesigner 的Hibernate O/R Mapping功能简介 http://www.suneca.com/article.asp?id=52 看到一个文章,竟然说PODWRDESIGNER能生成HIBERNAT...

weixin_30338461的博客 78

如何用 ABAP 以程序方式把指定表项写入 Transport Request

本文探讨了在SAP系统中运输自定义配置表数据时如何确保主表和相关文本表数据同步运输的问题。文章分析了两种实现方案:一是直接操作CTS表结构(E071和E071K)手动添加运输条目,二是使用SOBJ对象类型自动推导依赖关系。重点阐述了第一种方法的实现细节,包括如何正确拼接表键值到TABKEY字段,并提供了示例代码说明如何将ZXA_HEADER主表和ZXA_HEADERT文本表数据同时加入运输请求。文章特别指出在全球化交付场景中,文本表缺失会导致界面显示异常,强调理解底层运输机制对解决此类问题的重要性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 221

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用PowerDesigner生成Hibernate映射文件的步骤

执行:New->Conceptual Data Model编译完概念模型后执行:Tools->Generate Physical Data Model再选择生成的物理数据模型执行:Tools->Generate Object-Oriented Model在对话框中,选择Dtail,勾选O/R Mapping,点击Enable Transformations,在多出来的选项卡Extended Mod

Bob@优快云 950

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

使用eclipse/PowerDesigner生成Hibernate的反向工程

使用eclipse/PowerDesigner生成Hibernate的反向工程 不太建议: 1.生成的文件没有注解(JPA也没有) 2.Set没有泛型 1.连接数据库 打开Data Source Explorer 配置数据库连接 2.下载Hibernate插件 安装完成重启eclipse 3.制作PD模型 4.生成SQL语句并执行 创建...

howroad的博客 471

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

用PowerDesigner作为Hibernate代码生成工具

Hibernate代码生成工具 设计全攻略 Sybase 公司PowerDesigner上海研发中心汪晟杰   1.简述  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,提供HQL查询语言,使得Java程序员可以随心所欲的使用对象编程

I love this game 3394

PowerDesigner15生成Hibernate

用PowerDesigner生成Hibernate映射文件的步骤 执行:New->Conceptual Data Model 编译完概念模型后,再通过CDM生成PDM和OOM,注意要先生成OOM,再生成PDM。 在3种模型都具备时,生成JAVA CODE时才会有*.hbm.xml文件: 执行:Tools->Generate Object-Oriented Model 在对话框中,选择D

4209

用powerdesigner生成hibernate映射文件的步骤

1.执行:New->Conceptual Data Model编译完概念模型后2.执行:Tools->Generate Physical Data Model再选择生成的物理数据模型3.执行:Tools->Generate Object-Oriented Model在对话框中,选择Dtail,勾选O/R Mapping,点击Enable Transformations,在多出来的选项卡Extend

3068

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 195
上一篇: Java文件操作 中文问题
下一篇: sap FI 财务会计-事务码
onlyjohn
博客等级 码龄18年 17粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值