我的环境是Eclipse3.3(Europa)+hibernate3+oracle10g
一. hibernate生成
1. 生成hibernate.cfg.xml文件,修改相应的数据库连接参数。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="boxfmk">
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">devgen</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@server01:1521:orcl</property>
<property name="hibernate.connection.username">devgen</property>
<property name="hibernate.default_schema">DEVGEN</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
</session-factory>
</hibernate-configuration>
2. open hibernate code generation dialogue中设置一下。在main标签中设置输出生成包的路径等,在exporters标签中设置所要生成的文件类型,这里选择.hbm和.java文件。如图一所示。
二. 相应的修改
1. 所有的hbm文件,加入 “lazy=false”。
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2008-3-19 11:03:14 by Hibernate Tools 3.2.0.b9 -->
<hibernate-mapping>
<class name="org.wti.emergencyProcessRecord.domain.EmergencyProcessRecord" table="EMERGENCY_PROCESS_RECORD" lazy="false">
...
2. 类的修改
1) 生成的类全部改成抽象类,类名前加abstract咯,文件名也加上abstract吧;
// Generated 2008-3-19 11:03:13 by Hibernate Tools 3.2.0.b9
/**
* EmergencyProcessRecord generated by hbm2java
*/
public abstract class AbstractEmergencyProcessRecord implements java.io.Serializable {
...
}
2) 删除类中的构造函数(这个不用多解释啦);
3) 类中加上equals和hashcode方法。编辑界面上点击鼠标右键,弹出菜单中选择commons4E lang->generate Equals and Hashcode,在select fields中只选择id一项,如图二所示。
@Override
public boolean equals(final Object other) {
if (!(other instanceof AbstractEmergencyProcessRecord))
return false;
AbstractEmergencyProcessRecord castOther = (AbstractEmergencyProcessRecord) other;
return new EqualsBuilder().append(id, castOther.id).isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(id).toHashCode();
}
4) 重新生成tostring方法,同上,不过这次select fields需要全部选中;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", id).append("name", name).append(
"startDate", startDate).append("endDate", endDate).append("place", place).append("personList",
personList).append("accident", accident).append("processDescription", processDescription).append(
"result", result).append("assessment", assessment).append("author", author).append("lastUpdate",
lastUpdate).append("orgId", orgId).toString();
}
5) 在生成文件同路径下,新建类文件,名称就是hibernate所生成的java文件的名字(原来的文件已经改名字了,前面加abstract成抽象类了),生成后将鼠标光标点在类名上,按ctrl+1,在弹出的菜单中选择add generated serial version id,会产生serialVersionUID,如图三所示。
public class EmergencyProcessRecord extends AbstractEmergencyProcessRecord {
/**
*
*/
private static final long serialVersionUID = 6952531987128218368L;
}
这就完成了domain层的映射,接下来该考虑业务功能了。
- 描述: 图一
- 大小: 96.7 KB
- 描述: 图二
- 大小: 61.9 KB
- 描述: 图三
- 大小: 44.7 KB
分享到:
相关推荐
这便完成了使用 MyEclipse 自动生成 Hibernate 映射文件和实体类的过程。 在这个过程中,我们可以了解到以下几个重要的技术点: 1. Hibernate 是一种开源的持久层框架,提供了一个高效的数据访问机制,能够将 Java...
4. **配置Hibernate映射文件**: - 生成POJO后,还需要配置Hibernate的映射文件(通常是`.hbm.xml`或`@Entity`注解)来指定表和类之间的映射关系。 - 对于注解方式,可以在生成的POJO类上添加相应的`@Entity`、`@...
其中,MyEclipse提供了对Hibernate的支持,可以自动生成Hibernate的POJO、DAO和hbm.xml文件,从而简化了开发过程。本文将详细介绍如何使用MyEclipse自动生成这些文件。 配置数据库连接 为了使用MyEclipse生成...
为了克服手动编写Hibernate映射文件和POJO类的繁琐和潜在错误,可以利用PowerDesigner的扩展功能自动生成这些代码。以下是该过程的关键步骤: 1. **模型扩展**:通过PowerDesigner的GTL(Graphical Transformation ...
Hibernate 是一个流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,而无需编写大量的SQL语句。在开发过程中,手动创建所有对应的Java POJO(Plain Old Java Object,简单Java对象)类...
3. **逆向工程(Hibernate Reverse Engineering)**:选中要映射的数据库表,右键选择`Hibernate Reverse Engineering`,这是MyEclipse提供的将数据库表转换为Hibernate映射文件和实体类的工具。 4. **配置生成选项...
源码层面,Hibernate Tools是开源的,开发者可以深入研究其生成POJO的实现过程,理解其工作原理,这对于优化自定义的代码生成规则或是扩展工具功能非常有帮助。 **六、总结** 总的来说,Hibernate Tools是Java开发...
总结来说,通过MyEclipse生成的Hibernate映射文件和POJO类,我们可以轻松地在Java应用中处理"订单信息"数据,而无需手动编写大量数据库操作代码。这种面向对象的方式使得代码更易于理解和维护,同时保持了与数据库的...
3. **生成POJO及映射文件**:通过HibernateTools,可以自动根据数据库表结构生成对应的POJO类以及Hibernate映射文件(XML格式或注解形式),从而大大减少了编码工作量。 ### 环境搭建 文档还提及了必要的软件环境...
"hcg.rar_ant hibernate po_pojo code g" 提供的资源显然是一个利用Ant构建工具和Hibernate ORM框架,自动生成POJO(Plain Old Java Object)和Hibernate映射文件的过程。下面我们将详细探讨这两个关键概念以及它们...
#### Hibernate映射的实现过程 - **数据库到映射**:这个过程通常涉及使用工具如Middlegen,它可以根据数据库的结构自动生成映射文件。具体步骤包括配置Middlegen的相关参数,如数据库连接信息、目标包名等,然后...
下面我们将详细介绍如何在MyEclipse中自动生成Hibernate映射文件。 首先,我们需要建立数据库连接。在MyEclipse中,可以通过`Window`菜单打开`MyEclipse Database Explorer`视图。在这里,你可以创建新的数据库连接...
在Java开发中,Eclipse是一款广泛使用的集成开发环境(IDE),而Hibernate则是一个优秀的对象关系映射(ORM)框架,它极大地简化了数据库操作。为了提高开发效率,开发者经常使用Hibernate Tools来反向工程数据库...
### 深入理解Hibernate映射文件 #### Hibernate概述与角色 Hibernate是一个开源的对象关系映射(ORM)框架,它让开发人员能够用面向对象的方式处理数据库操作,从而避免了大量的SQL编写工作。Hibernate的设计理念...
【JavaEE实验五:大学本科生Hibernate】实验主要目标在于让学生掌握Hibernate开发环境的搭建,理解ORM框架的概念,以及深入理解Hibernate映射文件和配置文件的使用。Hibernate是一个强大的ORM(对象关系映射)框架,...
教你如何用Hibernate生成映射文件和实体类,简单方便。
总之,Hibernate 3.0的POJO类生成功能大大简化了Java开发者与数据库交互的工作,通过逆向工程将数据库结构转化为可操作的对象模型,使开发过程更加高效。了解并熟练掌握这一方法,对于Java EE开发者来说是非常重要的...
接下来,我们为`Customer`类创建一个Hibernate映射文件`Customer.hbm.xml`。这个文件定义了类和数据库表之间的映射规则,包括主键生成策略,字段名称,以及它们与数据库列的对应关系。 要在BIRT中使用这些POJO,...
Hibernate映射文件主键生成策略详解 Hibernate.cfg.xml配置文件是Hibernate框架中的一部分,该文件用于配置Hibernate的各种设置,例如数据库连接、dialect、mapping文件等。在这个文件中,我们可以看到hibernate-...
总结起来,在J2EE项目开发中,使用Hibernate映射视图是一种解决复杂查询和跨表统计的有效策略。当原生SQL不适用时,创建视图并进行相应的ORM配置可以保持代码的整洁性和可维护性。需要注意的是,视图的映射可能会...