Hibernate使用<id/>元素来映射主键。
<id name="" type="" column="" access="" unsaved-value="" length="" node=""> <generator class=""/> </id>
name:属性的名字
type:属性的类型,既可以是java数据类型,也可以是Hibernate内置数据类型
column:属性映射的数据表的字段名
access:属性的访问策略
unsaved-value:对Hibernate3来说基本上是不必要的
length:指定对应字段的长度
node:暂时不清楚
1、主键为基本数据类型及其包装类型、String类型、Date类型
<!--主键为Integer类型--> <id name="id" type="java.lang.Integer" column="id"> <generator class="identity"/> </id> <!--主键为String类型--> <id name="strId" type="java.lang.String" column="str_id"> <generator class="assigned" /> </id> <!--主键为Date类型--> <id name="dateId" type="java.util.Date" column="date_id"> <generator class="assigned" /> </id>
2、主键为自定义数据类型
//必须实现Serializable接口,否则Hibernate会抛出异常。 public class Name implements Serializable { private String firstName; private String lastName; //...... }
public class Person { private Name name; public Name getName() { return name; } public void setName(Name name) { this.name = name; } }
<composite-id name="name" class="org.lgy.hibernate.pojos.Name"> <key-property name="firstName" type="string" column="first_name" length="100"/> <key-property name="lastName" type="string" column="last_name" length="100"/> <generator class="assigned"/> </composite-id>
3、多列作为联合主键
//虽然主键没有实现类,但是Hibernate要求Person必须实现Serializable接口,否则抛出异常 public class Person implements Serializable { private String firstName; private String lastName; //... ... }
<!-- 因为不是一个真实的属性,所以<composite-id/>元素不需要name属性。 因为标识属性没有实现类,所以<composite-id/>元素不需要class属性。 --> <composite-id> <key-property name="firstName" type="string" column="first_name" length="100"/> <key-property name="lastName" type="string" column="last_name" length="100"/> </composite-id>
相关推荐
本篇文章将详细讲解Hibernate映射文件中关于主键生成的各种策略及其配置,帮助开发者更好地理解和使用。 首先,主键(Primary Key)是数据库表中用于唯一标识一条记录的字段,其值在表中必须是唯一的,并且通常不...
Hibernate映射文件(通常为`.hbm.xml`格式)是这个桥梁,它定义了Java类与数据库表之间的映射规则,包括字段对应、主键设置、关联关系等。 映射文件中通常包含以下几个关键元素: 1. `<class>`:表示一个Java类,...
【压缩包子文件的文件名称列表】:“hibernate映射文件自动生成.doc”很可能是这篇博文的文档形式,其中详细介绍了具体的操作步骤、使用工具或者自定义脚本,以帮助开发者理解并应用自动化的映射文件生成过程。...
而MyEclipse作为一款强大的Java集成开发环境,提供了对Hibernate的良好支持,包括自动生成Hibernate映射文件的功能。本文将详细介绍如何在MyEclipse中创建和使用Hibernate映射文件。 首先,理解Hibernate映射文件...
Hibernate映射文件是XML格式的文件,它定义了数据库表与Java实体类之间的对应关系,包括字段映射、主键策略、关联关系等。映射文件让开发者无需编写SQL语句,就能通过Java对象进行数据库操作。 2. **MyEclipse ...
总的来说,通过编写Java程序自动根据实体类生成Hibernate映射文件,可以提高开发效率,减少手动维护映射文件的工作量。这个过程涉及到Java反射、XML处理以及对Hibernate映射机制的理解,对于深入掌握Java与数据库的...
Hibernate映射文件,通常以`.hbm.xml`为扩展名,是Hibernate用来定义Java类与数据库表之间关系的配置文件。它包含了关于实体类与数据库表的字段对应、主键生成策略、关联关系等信息。通过这些映射文件,Hibernate...
在Java的持久化框架Hibernate中,无主键表映射是一种特殊情况,主要处理那些在数据库中没有明确单一主键的表。这种情况通常出现在那些通过多个字段共同唯一标识一条记录的复合主键(Composite Key)场景。本文将详细...
3. **逆向工程(Hibernate Reverse Engineering)**:选中要映射的数据库表,右键选择`Hibernate Reverse Engineering`,这是MyEclipse提供的将数据库表转换为Hibernate映射文件和实体类的工具。 4. **配置生成选项...
### Hibernate映射主键生成策略native #### 一、引言 在ORM(对象关系映射)技术中,Hibernate作为一款流行的Java持久层框架,在处理数据持久化方面提供了丰富的功能和灵活性。其中,主键生成策略是Hibernate配置...
首先,我们需要了解一个基本的Hibernate映射文件结构: ```xml <hibernate-mapping> <!-- 映射类的属性 --> </hibernate-mapping> ``` 这里的`<class>`标签表示映射到特定的Java类,其属性`name`指定了对应的...
**hibernate映射与查询** Hibernate 是一个流行的 Java 应用程序开发框架,它提供了一个持久层解决方案,简化了数据库操作。对于初学者来说,理解 Hibernate 的映射和查询机制是至关重要的,因为它们构成了 ...
下面我们将详细介绍如何在MyEclipse中自动生成Hibernate映射文件。 首先,我们需要建立数据库连接。在MyEclipse中,可以通过`Window`菜单打开`MyEclipse Database Explorer`视图。在这里,你可以创建新的数据库连接...
【标题】"Hibernate映射文件结构"涉及到的是Java持久化框架Hibernate的核心概念,它用于将对象与数据库表之间的关系进行定义。映射文件是Hibernate工作的重要组成部分,它们以XML格式编写,通常命名为`.hbm.xml`,并...
复合主键映射 <br>通常将复合主键相关属性,单独抽取出来,建立一个独立的类 * 必须实现序列化接口 * 必须实现equals和hashcode方法 采用标签进行映射,其它属性采用正常映射
Hibernate映射文件是Hibernate框架中用于定义对象-关系映射(ORM)的重要组成部分。它将Java类与数据库表之间的关系进行详细配置,使得程序能够透明地操作数据库。映射文件通常使用XML格式,并以`.hbm.xml`为扩展名...
### 深入理解Hibernate...总之,Hibernate映射文件是实现对象关系映射的核心组件之一,通过对映射文件的合理配置,可以高效地完成Java对象与数据库表之间的映射,从而简化数据库操作并提高代码的可维护性和可扩展性。
Hibernate映射文件主键生成策略详解 Hibernate.cfg.xml配置文件是Hibernate框架中的一部分,该文件用于配置Hibernate的各种设置,例如数据库连接、dialect、mapping文件等。在这个文件中,我们可以看到hibernate-...