`
gaoke
  • 浏览: 86816 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 数据库切换到sqlserver数据库hibernate报无法插入null,hibernate 主键生成机制回顾

 
阅读更多
hibernate 的主键生成策略主要用,序列,自增,通用三种方式。

序列:(只有在oracle 和DB2中支持)<id name="id" column="id">    <generator class="sequence">         <param name="sequence">在数据库中创建的squence的名字</param>    </generator></id>


自增:(只支持mysql 和sqlserver)在建表的时候设置 auto_increment 属性<id column name="friend_id" length="10"> <generator class="identity"/> </id>


通用:mysql不适用如果是oracle,序列名字一定要用hibernate_sequence<id column name="friend_id" length="10"> <generator class="native"/> </id>
分享到:
评论

相关推荐

    Hibernate主键类型说明和配置手册.doc

    以下是对Hibernate主键类型及其配置的详细说明: 1. **uuid.hex**: 这种生成器使用128位算法生成一个32位的字符串。由于其通用性,它适用于所有类型的数据库。在`.hbm.xml`映射文件中,你可以这样配置: ```xml ...

    sql主键产生器

    2. **自动增长(Auto Increment)/标识列(Identity Column)**:在MySQL、SQL Server和PostgreSQL等数据库中,可以设置某列为主键并指定其为自动增长。每当插入新行时,数据库会自动为该列提供一个新的唯一值。 3....

    Hibernate+struts实例学习

    在此示例中使用的是SQL Server 2000数据库,但也可以选用其他数据库如MySQL等,只需准备相应的数据库驱动jar包即可。 #### 2. 程序编写 程序编写分为几个步骤: ##### 第一步:配置数据源 在MyEclipse中新建一个...

    java框架之hibernate

    - 支持DB2、MySQL、SQL Server等数据库的内置标识字段。 - 返回的标识符是长整型、短整型或整型。 5. **Increment**: - 为长整型、短整型或整型生成唯一标识符。 - 在单个进程中使用安全,但在集群环境下可能...

    Hibernate面试题-详尽解析

    - **跨平台开发**: 由于`native`能够自动识别并选择最合适的主键生成策略,使得开发者可以在不同的数据库平台上无缝切换而不必担心主键生成逻辑的变化。 - **OID类型限制**: OID(对象ID)的类型必须为`long`、`...

    hibernate的映射文件配置

    5. **identity**:利用数据库自身的自增特性,如DB2、SQL Server、MySQL等。 6. **sequence**:使用数据库Sequence机制,适合Oracle等数据库。 7. **native**:由Hibernate自动选择identity、hilo或sequence之一。 8...

    hibernate面试

    - **identity**:依赖数据库自身的主键生成机制,如DB2、SQL Server、MySQL。 - **sequence**:使用数据库的Sequence,如Oracle。 - **native**:根据底层数据库选择合适的主键生成策略。 理解并掌握这些...

    Hibernate常见面试题汇总

    - **identity**:利用数据库内置的自动增长机制,如DB2、SQL Server、MySQL。 - **sequence**:使用数据库的sequence机制生成主键,适用于支持sequence的数据库。 了解这些面试题的答案,可以帮助面试者展示对...

    hibernate-mapping参数详解

    - **identity**: 使用数据库的自增机制,适用于 MySQL、SQL Server 等数据库。 - **sequence**: 使用数据库的序列生成器,适用于 Oracle 数据库。 - **native**: 根据使用的数据库选择最合适的策略。 - **uuid.hex**...

    hibernate学习文档

    - **通用性强**:Hibernate 支持多种数据库系统,如 MySQL、Oracle、SQL Server 等,使得应用程序在不同数据库间迁移变得更加容易。 - **对象化操作**:Hibernate 将关系型数据库中的数据转换为 Java 对象,这使得...

    hibernate面试题

    - **identity**:依赖数据库自增机制,如DB2、SQL Server、MySQL。 - **sequence**:使用数据库序列,如Oracle。 - **native**:根据数据库类型自动选择合适的主键生成策略。 理解并熟练掌握这些知识点对于处理...

    Hibernate 原理与配置快速入门(转)

    Hibernate 支持多种数据库,包括 MySQL、Oracle、SQL Server 等,具有高度的可移植性。 **主要组件** 1. **Configuration**: 配置对象,负责读取 Hibernate 配置文件,创建 SessionFactory。 2. **SessionFactory*...

    史上最简单的Hibernate入门简介

    它能够极大地简化数据访问层的编程工作,并且支持多种主流的关系型数据库,如MySQL、Oracle、PostgreSQL和MS SQL Server等。Hibernate的核心优势在于其强大的ORM功能,通过将数据库表映射为Java对象,开发者无需编写...

    ID生成策略

    `Identity`是一种常见的自增主键生成策略,在MySQL、DB2以及MS SQL Server等数据库系统中均有支持。它能够为每一行记录生成一个唯一的ID值。例如,在MySQL中创建一个表时可以这样定义: ```sql CREATE TABLE t_user...

    Creating your MySQL Database

    MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的应用程序,从小型网站到大型企业级系统。本文将深入探讨如何创建自己的MySQL数据库,包括安装MySQL、配置环境、设计数据库结构以及...

    Hibernte使用及配置说明

    5. **广泛的支持**:兼容多种关系型数据库,如 MySQL、Oracle、SQL Server 等。 #### 二、Hibernate 工作原理 Hibernate 的工作流程主要包括以下几个步骤: 1. **创建 SessionFactory**:这是 Hibernate 进行...

    Struts2+Spring2+Hibernate3 web应用示例

    3. **增强应用性能**:Hibernate的缓存机制可以显著提高数据访问速度,减少与数据库的交互次数。 4. **提高代码质量**:MVC架构的分离使得前端和后端逻辑更加清晰,有利于团队协作和后期维护。 #### 三、具体实施...

Global site tag (gtag.js) - Google Analytics