不一定要用 MyEclipse 的 Hibernate 框架生成数据库表的映射文件,其实很简单:
在 Eclipse 环境中,新建一个项目并添加 Hibernate 框架.
假设有两个表,分别是 MainClass 和 SubClass ,下面是两个表的表结构:(使用 MySQL 数据库)
Create
table
MainClass(
--
ID
MID
int
AUTO_INCREMENT
primary
key
,
--
main class name
MClsName
varchar
(
20
)
not
null
)ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8;
Create
table
SubClass(
--
sub class ID
SID
int
AUTO_INCREMENT
primary
key
,
--
sub class name
SClsName
varchar
(
20
)
not
null
,
--
main class ID (外键)
MID
int
not
null
)ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8;
现在来创建 MainClass 的类 MainClass.java,代码如下:
public
class
MainClass
...
{
private
int
mainClsId;
private
String mainClsName;
//
mainClsId Getter and Setter
public
int
getMainClsId()
...
{
return
mainClsId;
}
public
void
setMainClsId(
int
mainClsId)
...
{
this
.mainClsId
=
mainClsId;
}
//
mainClsName Getter and Setter
public
String getMainClsName()
...
{
return
mainClsId;
}
public
void
setMainClsName(String mainClsName)
...
{
this
.mainClsName
=
mainClsName;
}
}
//
SubClass.java,代码如下:
public
class
SubClass
...
{
private
int
subClsId;
private
String subClsName;
private
int
mainClsId;
private
MainClass mainClass;
//
mainClass Getter and Setter
public
MainClass getMainClass()
...
{
return
mainClass;
}
public
void
setMainClass(MainClass mainClass)
...
{
this
.mainClass
=
mainClass;
}
//
mainClsId Getter and Setter
public
int
getMainClsId()
...
{
return
mainClsId;
}
public
void
setMainClsId(
int
mainClsId)
...
{
this
.mainClsId
=
mainClsId;
}
//
subClsId Getter and Setter
public
int
getSubClsId()
...
{
return
subClsId;
}
public
void
setSubClsId(
int
subClsId)
...
{
this
.subClsId
=
subClsId;
}
//
subClsName Getter and Setter
public
String getSubClsName()
...
{
return
subClsName;
}
public
void
setSubClsName(String subClsName)
...
{
this
.subClsName
=
subClsName;
}
}
接着就是写 映射文件了,
MainClass.java 的映射文件 MainClass.hbm.xml
<?
xml version="1.0"
?>
<!
DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<
hibernate-mapping
>
<
class
name
="com.demo.model.MainClass"
table
="MainClass"
catalog
="test"
>
<
id
name
="mainClsId"
type
="integer"
>
<!--
name 是 MainClass.java 中的 mainClsId 属性
-->
<
column
name
="MID"
/>
<!--
name 是 MainClass 表中对应的列名
-->
<
generator
class
="native"
/>
</
id
>
<
property
name
="mainClsName"
type
="string"
>
<
column
name
="MClsName"
length
="20"
not-null
="true"
/>
</
property
>
</
class
>
</
hibernate-mapping
>
SubClass.java 的映射文件 SubClass.hbm.xml
<?
xml version="1.0"
?>
<!
DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<
hibernate-mapping
>
<
class
name
="com.demo.model.SubClass"
table
="SubClass"
catalog
="test"
>
<
id
name
="subClsId"
type
="integer"
>
<!--
name 是 SubClass.java 中的 subClsId 属性
-->
<
column
name
="SID"
/>
<!--
name 是 SubClass 表中对应的列名
-->
<
generator
class
="native"
/>
</
id
>
<
property
name
="subClsName"
type
="string"
>
<
column
name
="SClsName"
length
="20"
not-null
="true"
/>
</
property
>
<!--
这里很重要 ,作用是声明这段是数据库表中的外键
-->
<
property
name
="mainClsId"
column
="MID"
/>
<!--
这里的 column ,应该对应声明 外键的 name ,即 mainClsId ,而 name="mainClass" 就是 SubClass 里的一个属性
-->
<
many-to-one
name
="mainClass"
column
="mainClsId"
class
="com.demo.model.MainClass"
lazy
="false"
not-found
="ignore"
cascade
="none"
insert
="false"
update
="false"
/>
</
class
>
</
hibernate-mapping
>
好..最后一步就是在 hibenate 的配置文件中加上这两个 映射文件 地址就可以了
<
mapping
resource
="com/demo/model/MainClass.hbm.xml"
></
mapping
>
<
mapping
resource
="com/demo/model/SubClass.hbm.xml"
></
mapping
>
大功告成~~~~ :)
来源:http://www.fish888.com/hibernate-mapping-t174284
分享到:
相关推荐
### Hibernate Mapping 参数详解 在 Hibernate 中,为了将 Java 对象映射到数据库表,并实现对象关系映射(ORM),开发者需要定义一系列配置属性来指导 Hibernate 如何进行转换。本文将详细解析 `hibernate-mapping...
Hibernate的动态映射允许在运行时创建实体类的映射,无需预先编写XML映射文件,这在某些场景下非常实用。 10. 性能优化 Hibernate提供了一系列性能优化策略,如二级缓存、批处理、延迟加载等,通过合理的配置和...
通过这些文件,我们可以精确地配置Hibernate以适应不同的项目需求,并且创建出符合规范的对象-关系映射,从而实现高效、灵活的数据库操作。在处理大型项目时,良好的Hibernate配置和映射设计不仅能提升开发效率,还...
一旦数据库连接建立成功,可以继续添加Hibernate特性到JavaWeb项目中,以便使用Hibernate反向工程功能。具体步骤为: - 切换至MyEclipse Java Enterprise透视图视窗。 - 在项目上右键点击,选择MyEclipse->Add ...
此外,XDoclet还可以生成MySQL或其他数据库的创建脚本,帮助快速建立对应的数据库结构。 总结起来,这个例子展示了如何利用XDoclet插件从Java持久化类自动生成功能强大的Hibernate映射文件和数据库脚本,极大地简化...
Java DAO (Data Access Object)、JDBC (Java Database Connectivity)、Hibernate 和 XML mapping 是Java开发中用于数据库操作的重要技术。这些技术共同构成了一个强大的数据访问层,使得开发者能够高效、灵活地与...
这些配置项让Hibernate知道如何与特定的数据库系统建立连接并进行通信。 接下来,我们来看`hibernate-configuration-3.0.dtd`。DTD是XML文档类型定义的缩写,它定义了一组规则,用于验证XML文件的结构是否正确。`...
4. **HQL和Criteria API**:Hibernate有自己的查询语言HQL,与JPQL类似但功能更强大。Criteria API则提供了一种类型的API来构建动态查询。 5. **实体关系**:支持一对一、一对多、多对一、多对多等各种关系映射。 ...
- **查询语言**:除了传统的SQL查询,Hibernate还提供了自己的HQL(Hibernate Query Language)查询语言。 #### 四、Hibernate中的实体映射 以`User`类为例,下面展示了如何使用Hibernate进行实体映射: ```java ...
<hibernate-mapping> <!-- 映射类的属性 --> </hibernate-mapping> ``` 这里的`<class>`标签表示映射到特定的Java类,其属性`name`指定了对应的Java类全名,而`table`和`schema`分别指定了数据库表名和模式名...
总结来说,本主题将深入探讨Hibernate框架下,如何通过XML映射文件和注解进行对象关系映射的配置,包括实体类的设计、字段映射、关联关系的建立,并可能结合具体代码实例进行解析,帮助读者理解并掌握这两种映射方式...
**Hibernate O/R Mapping 入门工程包** 在Java开发领域,Hibernate是一个强大的对象关系映射(Object-Relational Mapping,简称ORM)框架,它能够帮助开发者将数据库操作转化为面向对象的编程,从而降低了数据库和...
这些配置项是 Hibernate 建立对象关系映射所需的基本信息。 Hibernate 配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。通过 hibernate.cfg.xml 和 .hbm.xml 文件,我们可以定义 Hibernate 的基本连接...
### Eclipse 配置 Hibernate3 插件,生成 Mapping 和 Java #### 一、概述 本文主要介绍如何在 Eclipse IDE 中配置 Hibernate3 插件,并利用该插件自动生成数据库映射文件(Mapping)及对应的 Java 实体类。通过这...
Gavin King 于 2001 年创建了 Hibernate 项目,旨在提供一种简洁的方式来访问关系数据库。 POJO POJO(Plain Old Java Object)是 Java 语言中的一个概念,指的是一种简单的 Java 对象。POJO 是 Hibernate 的核心...
本项目是一个基于Java技术栈,使用Bootstrap、Spring MVC、Hibernate和Spring框架开发的超市后台管理系统。这个系统的主要目的是实现对超市商品、库存、订单、客户等业务数据的有效管理和控制,提供了一个直观、高效...
例如,创建一个新的订单: ```java OrderKey key = new OrderKey(); key.setCustomerId("123"); key.setOrderId("456"); Order order = new Order(); order.setKey(key); session.save(order); ``` 通过以上的...
通过"Hibernate3.2EnumTypeMapping-demo.zip"中的示例代码,你可以深入学习和理解这些概念,并实践在自己的项目中。这将帮助你更好地利用Hibernate处理枚举类型,提高代码质量,减少潜在的运行时错误。