📄 myeclipse_hibernate_quickstart_zh_cn.html
字号:
<p class="normal"><br>
完成了 5.2 部分的配置向导后, Hibernate 配置文件将会自动打开.
<br>
<em><strong>如果你在添加功能过程中跳过了数据源连接的配置, 你可以现在来完成它, 也可以跳转到 <a href="#properties">添加属性</a></strong></em>.</p>
<p>自定义配置文件里面的需要连接到我们的数据库的信息.</p>
<ol>
<li>选中 <strong>Use JDBC Driver</strong> 选项.<br>
我们将指定 Database
Explorer 中的 JDBC 驱动. 如果你尚未配置 JDBC 驱动, 请阅读 <a href="http://127.0.0.1:61071/help/topic/com.genuitec.eclipse.sqlexplorer.doc/doc/quickstarts/dbexplorer/index.html">
Database Explorer 快速入门</a> 然后在进行下面的操作之前配置一个. </li>
<li>从 <strong>Connection Profile</strong>
下拉框中选中一个配置.<br>
如果你只是配置了 JDBC 驱动但是没有配置一个连接属性, 你可以选择 <em>New Profile</em> 按钮来创建一个新的连接配置. 如果你已经有了一个连接配置, 当你选择其中的一个之后将会自动填充下面的 4 个输入框中的内.<br>
</li>
<li>点击 <strong>Copy JDBC Driver and add to classpath...</strong> 链接. </li>
<li>为你的数据库选中正确的 <strong>Hibernate Dialect</strong>.</li>
</ol>
你的配置页面将会显示为这样的内容:
<blockquote style="margin-right: 0px;" dir="ltr">
<p class="normal"><img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-workbench-oracle1.gif" border="0"><br>
<font class="figureCaption">图 8. Hibernate 配置文件, 配置了 Oracle
连接</font></p>
</blockquote>
<a name="properties"></a>
<br>
你可以使用 Properties 部分来添加和修改属性.
<blockquote style="margin-right: 0px;" dir="ltr">
<p class="normal">
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-addproperty.gif" align="top" border="0">
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-workbench-dialog.gif" border="0"><br>
<font class="figureCaption">图 9. 添加属性</font></p>
</blockquote>
<br>
Mappings 部分可以让你添加也许已经存在项目中的映射文件. 另外, 从 Package Explorer <strong>拖放</strong> 映射文件到这个输入框也可以达到同样的效果.
<blockquote style="margin-right: 0px;" dir="ltr">
<p class="normal">
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-addmapping.gif" align="top" border="0">
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-workbench-mapping.gif" border="0">
<br><br><img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-mapping-dnd-annot.gif" border="0"><br>
<font class="figureCaption">图 10. 添加映射文件 </font></p>
</blockquote>
图 11 上述操作完成后的 Hibernate 配置文件的源代码.
<blockquote style="margin-right: 0px;" dir="ltr">
<p class="normal"><img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-workbench-editor.gif" border="0"><br>
<font class="figureCaption">图 11. Hibernate 配置文件</font></p>
</blockquote>
<h3>5.4 <a name="5-4"></a>创建 Hibernate Java 表映射 </h3>
<p class="normal"><br>
这个部分展示了使用 MyEclipse Hibernate
工具来反向工程生成 Java 数据对象并从现有的数据库表格生成映射的过程.</p>
<ol>
<li>
<div>打开 <strong>MyEclipse Hibernate 透视图. </strong>
从主菜单栏, 选中 <strong>Window > Open Perspective >
Other > MyEclipse Hibernate</strong></div>
</li><li>
<div>选中你在 Hibernae 配置中所使用的数据库连接属性</div>
</li><li>
<div>浏览数据库的目录结构, 直到你找到了一个想要创建 Hibernate 映射的表格/实体<br>
<br>
<strong><u>注意:</u></strong> 在我们的例子里我们使用了 <strong>TEST</strong> 数据库下的 <strong>ECHO_MESSAGE</strong>
表格; 对于其它数据库和表格的操作过程基本上都是一样的.<br>
<br>
</div>
</li><li>
<div>右键点击表格然后选中 <strong>Hibernate
Reverse Engineering,</strong> 如图 12 所示. 这将启动 Hibernate
Reverse Engineering 向导.<br>
另外, 你也可以从 DB Browser 那里拖动表格, 然后将它放到 Hibernate 配置编辑器里也可以启动这个向导.
<br>
<br>
<strong><u>注意:</u></strong> 你可以在 <strong>DB Browser</strong> 中选中多个表格然后同时对它们进行反向工程.
<br>
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-createmapping.gif" border="0"><br>
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-createmapping-dnd-annot.gif" border="0"><br>
<font class="figureCaption">图 12. 对 ECHO_MESSAGE 数据库表格启动 Hibernate Reverse Engineering 向导</font><br>
<br>
<strong>Hibernate Reverse Engineering</strong> 向导一共有 3 页.<br>
<br>
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-mapping-1.gif" border="0"><br>
<font class="figureCaption">图 13. Hibernate Reverse Engineering 向导 - 页面 1</font><br>
</div>
</li>
</ol>
<ol start="5">
<li>点击<strong>Java src folder</strong> 右侧的 <strong>Browse...</strong> 按钮来查看可用的 Hibernate 项目以及源码目录, 这些目录将用来存放最终生成的文件.
<br>
选择 <strong>HibernateDemo</strong> 项目中的<strong> src</strong> 文件夹. </li>
<li>点击 <strong>Java package </strong>输入框右侧的 <strong>Browse...</strong> 按钮然后选中包 <strong>com.genuitec.hibernate</strong></li>
<li>完成如图 13 所示的向导中的其余的内容然后选择 <strong>Next.</strong>
<br>
<strong><br>
<u>注意:</u></strong> 向导的第 2 页和第 3 页用来自定义反向工程处理过程.
<br>
当然也可以现在就直接点击 Finish 按钮开始处理过程, 不对后两页的设置进行任何自定义.
<br><br>
<font size="3"><strong>表 4 - Hibernate Reverse Engineering 向导 - 第 1</strong></font><strong> 页</strong> <br>
<br>
<table summary="" border="1" cellpadding="1" cellspacing="1" width="600">
<tbody>
<tr>
<td><strong>选项</strong></td>
<td><strong>描述</strong></td>
</tr>
<tr>
<td>
<p align="left">
<strong>Java src folder<br>
</strong> </p> </td>
<td>
<p align="left">
选中映射文件, POJO 和 DAO 生成后所在的项目和源码文件夹. </p> </td>
</tr>
<tr>
<td>
<p align="left">
<strong>Java package<br>
</strong> </p> </td>
<td>
<p align="left">映射文件, POJO 和 DAO 生成后所在的包.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Hibernate mapping file</strong></p> </td>
<td><p align="left">
从选中的表格生成映射文件.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Update hibernate configuration</strong></p> </td>
<td><p align="left">
将生成后的映射文件添加到 Hibernate 配置文件中.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Java Data Object </strong></p> </td>
<td><p align="left">
为映射文件和表格生成对应的数据对象 (POJO).</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Create abstract class </strong></p> </td>
<td><p align="left">
为每个数据对象生成一个抽象的父类. 这个抽象类将在以后的重新生成过程中覆盖掉, 但是对应的子类将不会被覆盖掉.
</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Base persistence class </strong></p> </td>
<td><p align="left">
如果需要的话, 输入生成的 POJO 所要集成的父类的完整名称.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Java Data Access Object </strong></p> </td>
<td><p align="left">
生成便于访问映射后的类和表格的数据访问对象. 用户可以在 Basic, Spring 和
JNDI DAO 中选择一种.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Generate precise findBy methods </strong></p> </td>
<td><p align="left">
为映射类中的每个属性生成一个 "findBy" 方法.
<br>
例如 findByFirstName("name");</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Use custom templates </strong></p> </td>
<td><p align="left">
覆盖 MyEclipse 的内部 velocity 模版为你自己的版本.
<br>
参考 <a href="#5-5">使用模版来更好的调节生成的代码</a> 来获取更多信息.</p> </td>
</tr>
<tr>
<td><p align="left">
<strong>Template directory </strong></p> </td>
<td><p align="left">
包含了自定义模版的目录树的根节点.</p> </td>
</tr>
</tbody>
</table>
<p>
<img alt="" src="MyEclipse_Hibernate_Quickstart_zh_CN_files/hibernate-mapping-2.gif" border="0"><br>
<font class="figureCaption">图 14. Hibernate Reverse Engineering 向导 - 第 2</font> 页 </p>
</li>
<li>第 2 页可以使用默认的设置, 选择 <strong>Next.</strong>
<br>
<br>
<font size="3"><strong>表 5 - Hibernate Reverse Engineering 向导 - 第 2 页 </strong></font><br>
<br>
<table summary="" border="1" cellpadding="1" cellspacing="1" width="600">
<tbody>
<tr>
<td><strong>选项</strong></td>
<td><strong>描述</strong></td>
</tr>
<tr>
<td>
<p align="left">
<strong>Rev-eng settings file<br> </strong> </p> </td>
<td>
<p align="left">
这个文件包含了反向工程的配置和选项以供以后使用. 点击
<strong>Setup...</strong> 按钮来选择现有的文件或者创建一个新的文件.
<br>
<strong>如果找不到一个这样的配置文件的话向导将会自动创建此文件.</strong> </p> </td>
</tr>
<tr>
<td>
<p align="left">
<strong>Custom rev-eng strategy<br> </strong> </p> </td>
<td>
<p align="left">
允许你指定一个自定义的反向工程策略类.
这个类允许你用编程的方式来自定义反向工程处理过程的各个方面.
参考 <a href="#5-6">使用自定义反向工程策略</a> 来获取详细信息. </p> </td>
</tr>
<tr>
<td>
<p align="left">
<strong>Type Mapping</strong> </p> </td>
<td>
<p align="left">
决定是否在类型映射属性中使用 Java 或者 Hibernate 类型, 例如 java.lang.String
对应 string. 这个设置只能在向导第 3 页的 <strong>Customized Type Mappings</strong> 列表中没有指定更多信息时才能使用. </p> </td>
</tr>
<tr>
<td>
<p align="left">
<strong>ID Generator</strong> </p> </td>
<td>
<p align="left">
ID Generator 是 Hibernate 映射文件必须有的内容. 它定义了持久类实例的唯一主键生成器 Jaav 类. 参考
<a href="#resources">资源</a> 部分里面的 Hibernate 文档链接, 里面描述了每个 ID 生成器的详细信息.
<br>
<strong>如果留空或者更详细的配置在这个向导的第 3 页没有配置, Hibernate 映射引擎将自动为你选择一个 ID 生成器.</strong> </p> </td>
</tr>
<tr>
<td>
<p align="left">
<strong>Generate basic typed composite IDs </strong> </p> </td>
<td>
<p align="left">
如果数据库表格包含有多个列的主键, 将总是使用
<strong><复合主键></strong> 映射.
<br>
<br>
如果这个选项启用并且有对应的多个外键, 每个主键列将依然会被作为'简单的' 标量 (string,
long, 等), 而不是引用到一个实体. 将会创建
<strong><many-to-one></strong> 元素, 但是它们将会标记为非可更新和非可插入的字段.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -