`

Hibernate如何映射枚举类型

 
阅读更多

Hibernate映射枚举类型

一、定义枚举类

 

package com.itqiang.model;
/**
 * 性别
 * @author LiYongqiang
 */
public enum Gender {
 MAN,
 WOMEN;
}

 

二、引用枚举

 

/**
 * 用户
 * @author LiYongqiang
 */
public class User implements Serializable{
 private static final long serialVersionUID = 1L;
 private Integer id;// 用户编号
 private String uname;// 用户名
 private String upass;// 密码
 private String realname;// 真实姓名
 private String email;// 邮箱
 private String address;// 住址
 private String mobile;// 手机
 private Gender gender = Gender.MAN;

 

三、配置映射文件如下:

 

<property name="gender" not-null="true" length="5">
   <type name="org.hibernate.type.EnumType">
    <param name="enumClass">com.itqiang.model.Gender</param>
    <!--
     12为java.sql.Types.VARCHAR常量值,即保存枚举的字面值到数据库。如果不指定type参数,保存枚举的索引值(从0开始)到数据库
    -->
    <param name="type">12</param>
   </type>
  </property>

分享到:
评论

相关推荐

    hibernate映射枚举类型

    Hibernate,作为Java中广泛使用的对象关系映射(ORM)框架,提供了一种优雅的方式来映射枚举类型到数据库。本文将深入探讨Hibernate如何映射枚举类型,并给出实际应用示例。 ### Hibernate枚举映射方式 #### 1. `@...

    JSP 中Hibernate实现映射枚举类型

    JSP中实现Hibernate映射枚举类型是将Java中的枚举类型映射到数据库中的特定格式,通常是为了保持数据的一致性以及便于管理。本文将详细介绍如何在Hibernate中实现枚举类型到数据库的映射,包括对应的枚举类的定义、...

    Hibernate中映射枚举类型

    #### 映射枚举类型的基本方式 Hibernate提供了一个专门用于枚举类型映射的类`org.hibernate.type.EnumType`。通过这个类,我们可以选择将枚举实例的`name`或者`ordinal`映射到数据库。具体的配置是在Hibernate的...

    java根据实体类生成Hibernate映射文件

    需要注意的是,这只是一个基本的实现,实际的生产环境中可能需要处理更复杂的情况,如自定义生成策略、关联关系映射、枚举类型等。此外,对于大型项目,通常会使用代码生成工具(如MyBatis的MyBatis Generator或...

    springboot项目中枚举类型的最佳实践

    其次,对于数据库操作,枚举类型可以用于ORM框架如Hibernate的实体属性。在持久化枚举到数据库时,通常将枚举的`ordinal()`值或自定义的code映射到数据库字段,以避免枚举值更改导致的数据不一致。例如,我们可以在...

    Hibernate映射

    **Hibernate映射详解** 在Java世界中,关系型数据库与对象模型之间的转换一直是开发中的一个挑战。Hibernate,作为一款强大的对象关系映射(ORM)框架,有效地解决了这个问题。本篇文章将深入探讨Hibernate映射的...

    Hibernate继承映射的第一种策略:每棵类继承树对应一张表

    Hibernate会自动处理类型标识字段,确保正确地映射到相应的子类。 ### 性能和设计考虑 单一表继承策略具有以下优缺点: **优点**: - 数据库表更少,减少表连接操作,提高查询性能。 - 易于理解和实现。 **缺点*...

    Hibernate_关联关系映射配置

    本教程将详细讲解Hibernate中的关联关系映射配置,帮助你理解和掌握如何在Hibernate中设置不同类型的关联。 一、一对一(One-to-One)关联 在现实世界中,两个实体之间可能存在一对一的关系,例如一个人只有一个...

    Hibernate3.2EnumTypeMapping-demo.zip

    在Hibernate3.2版本中,对枚举类型的支持得到了显著增强,引入了更优雅的映射方式。本示例代码工程"Hibernate3.2EnumTypeMapping-demo.zip"就是为了演示如何在Hibernate中正确地处理枚举类型,以提高数据模型的清晰...

    hibernate使用中与各种数据库字段类型对应类型训练

    9. **枚举类型**:在数据库中可以使用CHAR或INT存储,Hibernate通过`@Enumerated`注解支持枚举类型映射。 在实际应用中,我们还需要关注以下几点: - **级联操作**:如CascadeType.PERSIST、CascadeType.MERGE等,...

    Hibernate笔记 马士兵

    十三、 映射枚举类型 19 第12课 使用hibernate工具类将对象模型生成关系模型 19 第13课 ID主键生成策略 20 一、 Xml方式 20 元素(主键生成策略) 20 二、 annotateon方式 21 1、AUTO默认 21 2、IDENTITY 22 3、...

    hibernate官网中文翻译版

    "hibernate官网中文翻译版" Hibernate 官方中文翻译版旨在帮助开发者快速掌握 Hibernate 框架的使用和配置。该资源涵盖了 Hibernate 的基础知识、核心概念、配置方法和高级应用。...* 映射枚举类型

    Hibernate注释方法描述数据库映射

    `@Temporal` 注解接受 `DATE`, `TIME`, `TIMESTAMP` 这三个枚举值,分别映射到 `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp` 类型。 #### 七、大对象的持久化 对于大对象(如文本、图像等),可以使用...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     11.2.2 用UserType映射枚举类型  11.2.3 实现CompositeUserType接口  11.2.4 运行本节范例程序  11.3 操纵Blob和Clob类型数据  11.4 小结  11.5 思考题 第12章 映射继承关系  12.1 继承关系树的每个具体类...

    05_JPA详解_日期_枚举等字段类型的JPA映射.zip

    Java中的枚举类型可以方便地与数据库中的字符串或整型字段进行映射。JPA提供了`@Enumerated`注解来处理枚举字段: - `@Enumerated(EnumType.STRING)`:将枚举值转换为字符串存储。 - `@Enumerated(EnumType.ORDINAL...

    Hibernate_3.2属性文档介绍_中文

    枚举类型在许多场景下非常有用,Hibernate支持将Java枚举类型映射到数据库的整型或字符串类型,从而简化了枚举值的存储和读取。 ### 配置方式 Hibernate提供多种配置方式,包括XML映射文件、注解和API编程方式。...

    hibernate关系映射

    `CascadeType`枚举提供了多种级联类型,如SAVE_UPDATE、DELETE等。 **八、查询优化** Hibernate支持HQL(Hibernate Query Language)和 Criteria API 进行查询,它们提供更面向对象的查询方式。同时,使用缓存机制...

    hibernate-annotations-3.4.0.GA and hibernate-entitymanager-3.4.0.GA

    - Hibernate 3.4.0.GA版本支持枚举类型映射,使得枚举可以更自然地与数据库交互。有两种主要的映射方式: - `@Enumerated(EnumType.STRING)`: 将枚举值转化为字符串存储,便于理解和查询。 - `@Enumerated(Enum...

    hibernate基础jar包

    9. 类型转换:Hibernate提供了一些自定义类型,比如日期时间类型、枚举类型等,使得Java对象可以更好地映射到数据库字段。 10. 其他依赖:为了功能完整,基础包可能还包含其他依赖,如JAXB用于XML序列化,或者DOM4J...

Global site tag (gtag.js) - Google Analytics